【发布时间】:2016-07-25 16:02:58
【问题描述】:
嘿,我目前在 OpenGL 中有一个系统,它使用 glBlendFunc 为不同的着色器流血,但我想做这样的事情
fragColor = currentColor * lightAmount;
我尝试使用gl_Color,但它已被贬低,我的引擎不允许我使用它。
【问题讨论】:
-
不,我需要分配给 fragColor,因为我使用的是 GLSL 330,如果我只是将 fragColor 分配给 lightingamount 我场景中的所有东西都会变白
-
你不能。 OpenGL ES 的扩展允许在某些平台上执行此操作。请参阅之前的类似问题:stackoverflow.com/questions/16531185/…。或者这个,即使它处理深度值,也基本相同:stackoverflow.com/questions/23362076/…。
-
currentColor和lightAmount到底是什么? -
Currenycolor 只不过是一个愿望,我想将它与我在早期着色器程序传递中渲染的内容交换出来,而 lightAmount 是我在计算光照后得到的