簡體   English   中英

OpenGL ES(iPhone)多紋理(2D)代碼

[英]OpenGL ES (iPhone) multi-texturing (2D) code

我有這個PNG的紋理:

替代文字

另外一個來自PNG:

替代文字

它們都具有相同的混合功能:

glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);

我想先在一個多邊形上看到它們。 我只是找不到一個簡單的例子。 將它們繪制成不同的多邊形工作完美,但我不能將它們“合並”成一個紋理。 任何工作樣本代碼行都會很受歡迎。

第二個問題是制作鏡面反射貼圖的alpha變量。 我可以看到,我必須紋理組合它的alpha與主要顏色(從我的變量創建),但再次,沒有代碼的工作示例。 我開始研究glTexEnvi函數,但是我沒有任何結果。

拜托, 我求求您提供大約16行代碼! 我用谷歌搜索了整個網絡,但仍然卡住了。

我想要實現的引擎(在帖子底部工作flash草圖)就在這里

我不知道你需要的確切代碼行,但似乎你在glTexEnv的正確道路上...這本關於opengles 1.1的書談到了它。 我認為你想要的是紋理合成器:

glActiveTexture(GL_TEXTURE0);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, myTextureObject);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);

// Tell OpenGL which arithmetic operation to use: 
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, <operation>);

// Set the first argument:
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, <source0>);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, <operand0>);

// Set the second argument:
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, <source1>);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, <operand1>);

我不知道這是否會實現你想要的,你可能仍然需要FBO做正確的事。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM