Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Ondras
Založen: 12. 09. 2007 Příspěvky: 66
|
Zaslal: 21. duben 2009, 10:43:10 Předmět: barvy v opengl |
|
|
Mozna zacatecnickej dotaz, ale ja jednoduchy reseni nevidim.
Mam VBO, ve kterym je seznam barev k vrcholum. Ve scene potrebuji, aby se ty barvy menily... Ale meni se jen jejich intenzita, tak ze je nasobim vsechny konstantou 0..1. Jde to udelat nejak elegantne bez toho abych musel prepisovat vsechny hodnoty ve vertex bufferu? Diky.
EDIT: poznamecka, zadny shadery nemam k dispozici (OpenGL es 1.x). Pak by to bylo trivialni, ze? |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 21. duben 2009, 10:56:57 Předmět: |
|
|
cez ambientne svetlo. to budes menit od 0-1. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 21. duben 2009, 11:49:15 Předmět: |
|
|
Přes glColor4fv (bez zapnutého osvětlení) nebo přes glMaterialfv (s osvětlením). Podle dokumentace jsou tyto funkce v OpenGL ES 1.0 dostupné. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Ondras
Založen: 12. 09. 2007 Příspěvky: 66
|
Zaslal: 21. duben 2009, 11:55:41 Předmět: |
|
|
takhle to prave nejde v tom vertex buffery mam ty colory...
EDIT: navic pri zapnuti glEnable(GL_COLOR_MATERIAL) se pocita ta barva jen z glColor a na material to hazi bobek. Mozna kdyby se mi podarilu mu vnutit to nejak michat.
s tim osvetlenim se to jevi slibne. |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 21. duben 2009, 12:23:27 Předmět: |
|
|
Možná můžeš použít taky glTexEnv s parametrem GL_TEXTURE_ENV_COLOR. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 21. duben 2009, 16:25:58 Předmět: |
|
|
Ještě zbývá podotknout, že pokud máš k dispozici texture combiners (GL_COMBINE v glTexEnv), dalo by se to tím taky docela pohodlně udělat. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Ondras
Založen: 12. 09. 2007 Příspěvky: 66
|
Zaslal: 21. duben 2009, 21:33:03 Předmět: |
|
|
Kombinery tam jsou. Ale mam s nima mensi problem, na texturovany objekt se mi pak nepocita osvetleni.
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_PREVIOUS);
//draw |
|
Návrat nahoru |
|
 |
|