gpt4 book ai didi

opengl - 在 GLSL 中如何判断事件纹理是否为纹理 id 0?

转载 作者:行者123 更新时间:2023-12-02 08:43:55 27 4
gpt4 key购买 nike

我的模型资源没有纹理,我厌倦了在没有照明的情况下将它们渲染为黑色。这是因为如果纹理 id 0 被绑定(bind)并且我询问采样器它告诉我它是黑色的。后来导致 0 * 照明,使整个对象在没有照明的情况下变黑。理想情况下,我希望它有颜色、 Material 和光照(如果我们不将其乘以 0,就会发生这种情况)

我考虑过使用 uniform 标志并针对每个对象切换它,但如果我们稍后需要部分纹理的资源,我希望有一种更简单、更高性能的方法。

我也曾绑定(bind)过白色纹理,例如插入白色像素并将其设置为换行,但这看起来像“Chi Ting”。

注意。有效的纹理可能会返回黑色,因此我们不能忽略黑色纹理读取。好吧,我们可以,但看起来不太好。目前我们没有使用任何缓冲区对象,仅使用已弃用的带有显示列表的 glBegin() glEnd() 方法。

任何其他想法将不胜感激。

最佳答案

使用空的白色纹理。它会像使用制服一样快,而且您不必处理额外的情况。

如果您真的担心速度,请将纹理合并为一个,为无纹理的部分留下一小块白色区域。更改 texCoords 比更改纹理或制服快得多。

关于opengl - 在 GLSL 中如何判断事件纹理是否为纹理 id 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6174289/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com