dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

iesaceja jautajums par OGL texturam

 
dev.gamez.lv Forum Index -> Iesācējiem
View previous topic :: View next topic  
Author Message
martinezzz



Joined: 02 Feb 2010
Posts: 42

PostPosted: Thu Feb 04, 2010 4:01 pm    Post subject: iesaceja jautajums par OGL texturam

lieta tada ir shaderis tipa


uniform sampler2D tex;
uniform sampler2D tex1;
uniform float specIntensity;

void main()
{ .....blabla


c++ koda es zinu ka es varu noradit vienu texturu ... problema ir taa
ka gribas ari tai tex1 kkadu texturu piesaistit .. nevaru saprast kaa tikai

help !! :)



p.s lasu shito http://www.lighthouse3d.com/opengl/glsl/index.php?ogluniform

tachu tur paradits tikai kaa parastus mainigos pieslegt...

tip loc1 = glGetUniformLocationARB(p,"specIntensity");
glUniform1fARB(loc1,specIntensity);
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Feb 04, 2010 4:49 pm    Post subject:

samplerXD uniform'ā ir jāliek tekstūras units, kurai piebindota tekstūra.
Pieņemsim, ka tev GLSL'ā ir divas tekstūras:
Code:
uniform sampler2D woodTex;
uniform sampler2D grassTex;


C/C++'ā tev ir divi uzģenerētie uint'i ar tekstūru id vērtībām (no glGenTextures funkcijas):
Code:
GLuint woodTexID;
GLuint grassTexID;


Kad gribi šīs tekstūras izmantot šeiderī, tev vajag tās piebindot konkrētiem tekstūru unitiem:
Code:
glActiveTexture(GL_TEXURE0);
glBindTexture(GL_TEXTURE_2D, woodTexID);
glActiveTexture(GL_TEXURE1);
glBindTexture(GL_TEXTURE_2D, grassTexID);


Tagad varēsi izmantot šīs tekstūras ņemot tekstūru sampļus no 0 un 1 unita attiecīgi koka un zāles tekstūrām. To tad arī pasaki attiecīgajam šeiderim:
Code:
glUniform1iARB(glGetUniformLocationARB(prog, "woodTexID"), 0);
glUniform1iARB(glGetUniformLocationARB(prog, "grassTexID"), 1);


Protams, šīs divas pēdējās rindiņas vajag izdarīt tikai vienreiz - pirmo reizi pieslēdzot šeideri vai uzreiz pēc šeidera kompilācijas.
Ja gribi lietot citas tekstūras, tad vajag tikai piebindod konkrēto tekstūru id vērtības pie attiecīgajiem tekstūru unitiem.
Back to top
View user's profile Send e-mail
martinezzz



Joined: 02 Feb 2010
Posts: 42

PostPosted: Thu Feb 04, 2010 6:27 pm    Post subject:

OO danke .. nu mans gudraks palika :)


normals gljuks bija iekopeju tavu textu shams radija ka gl texture 1 identi fiers nav atrasts pectam to pahu iekopeju no citas lapas aizgaja :D



vel mazs jautajums vai gsls shaderos var ierakstitt varakas progas viena faila lidzigi kaa dx ??
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Feb 04, 2010 9:09 pm    Post subject:

Kas tavā tekstā ir domāts ar "progas"? Ja funkcijas, tad jā - var. Še lasi: http://www.opengl.org/documentation/glsl/
Back to top
View user's profile Send e-mail
martinezzz



Joined: 02 Feb 2010
Posts: 42

PostPosted: Thu Feb 04, 2010 9:17 pm    Post subject:

nu kad viens fragment fails satur visus speles shaderus


taka

void main()
{



}



void main2()
{


}


utt
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Feb 04, 2010 9:24 pm    Post subject:

Var. Bet kompilēt katru nāksies atsevišķi.
Es to šādā situācijā darītu sekojoši - sauktu galvenās funkcijas dažādos vārdos (ne main). Un tad pie katras kompilācijas kā pirmo rindiņu padotu defainu "#define FuncName main", kur FuncName ir vajadzīgās funkcijas vārds konkrētajam šeiderim.
Back to top
View user's profile Send e-mail
martinezzz



Joined: 02 Feb 2010
Posts: 42

PostPosted: Thu Feb 04, 2010 10:42 pm    Post subject:

aha nu ja forshi bus bik skaidriba :)

tagad atliks tikai shadowsi un amimacija bubulji divi man Very Happy
Back to top
View user's profile Visit poster's website
Display posts from previous:   
dev.gamez.lv Forum Index -> Iesācējiem All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group