0
A
回答
-1
1
如果您想拥有某种自己的错误代码,则可以执行以下操作。
您可以使用变换反馈。 转换反馈无法存储字符串。它通常用于存储每个顶点或每个原始属性。您可以定义一些错误代码。例如
在应用
#define VERTICES_TRANSFORMED_WRONGLY 1
在VS着色器
#define VERTICES_TRANSFORMED_WRONGLY 1
void main(void)
{
if(condition for error met)
write error code(VERTICES_TRANSFORMED_WRONGLY) to Transform feedback.
}
在应用
阅读,如果它h该变换反馈因为任何错误代码,你知道哪里出了问题。
您可以在每个着色器阶段之后附加变换反馈。 [编辑推荐BDL]: 你不能在片段着色器附加转换反馈,但你可以做一些类似于FBO的片段着色器阶段。
注:我仍然建议您使用已经被引用的工具,如Renderdoc,glDebugger,Nsight。
相关问题
- 1. GLSL着色器
- 2. C++在OpenGL着色器(GLSL)位标志
- 3. GLSL法线贴图着色器发出
- 4. GLSL:顶点着色器无片段着色片段着色器
- 5. 向GLSL着色器发送两个纹理
- 6. OpenGL,发送矩阵到顶点着色器并显示GLSL
- 7. OpenGL GLSL着色器统计
- 8. 使用GLSL着色器SDL2
- 9. GLSL着色器闪烁
- 10. GLSL边框着色器
- 11. GLSL着色器问题
- 12. GLSL着色器检测
- 13. GLSL内插彩色镶嵌着色器
- 14. 编译GLSL着色器打破其他着色器
- 15. OpenGL向着色器发送颜色
- 16. C++着色器,HLSL,如何发送到着色器,纹理? “sampler2d”?
- 17. 如何编写通用GLSL着色器来着色对象
- 18. GLSL将着色的法线传递给着色器
- 19. OpenGL的每像素着色与GLSL着色器
- 20. GLSL纹理映射和着色在相同的着色器
- 21. 如何调试GLSL着色器?
- 22. GLSL着色器和WebGL问题
- 23. 为Nvidia和AMD修复GLSL着色器
- 24. 通用GLSL照明着色器
- 25. 滚动纹理的GLSL着色器
- 26. 影子着色器优化(GLSL)
- 27. 使用多个sampler2Ds的GLSL着色器
- 28. GLSL片段着色器语法错误
- 29. 混合Cg和GLSL着色器
- 30. GLSL着色器分析工具
请参阅我的[GLSL调试打印](https://stackoverflow.com/a/44797902/2521214)您只需确保为包含文本输出的区域的每个片段打印相同的东西。这在某些情况下可能会非常棘手,甚至不可能。例如:[GLSL Ray Tracer](https://stackoverflow.com/a/45140313/2521214) – Spektre
https://github.com/msqrt/shader-printf – genpfault
可能有[如何调试GLSL着色器?]的重复(https://stackoverflow.com/questions/2508818/how-to-debug-a-glsl-shader) –