
每日Debug日记
文章平均质量分 64
刘敬_
时光不待人
展开
-
Debug No5基础光照
所以这里存在的问题一定是,我设置的读取了过多的属性信息,而在rend()环节没有解析着色器中对应变量。或者是我读取的着色器中缺少了属性信息,却解析了一些着色器中不存在的变量。但是无论那种,我都没有看到有报错,除非关于着色器的错误是打开着色器文件的错误或着色器及其明显的语法错误。经再检验发现,因为包装的组件名,与类的成员函数同名,而是此处调用的不是用于编译两个立方体shader的组件方法,而是只调用了一个编译立方体shader的成员方法。解决删除了着色器中的纹理等多余变量,在rend()环节没有绑定纹理。..原创 2022-07-23 00:21:16 · 120 阅读 · 0 评论 -
Debug No4 利用RenderDoc排查bug
错误原因,多个纹理单元,每次需要重新绑定。要写让Shader理解的程序,如果你前文不交代谁是_texture,还是_texture2,那么shader无法解析。也就是说,循环内每个都是独立程序,所以都需要重新绑定纹理。(而教程中,没有指定纹理单元,是因为是单张纹理单元默认是0.不需额外指定)一种是Shader打错了,另一种是。RenderDoc和VS相比多了报错。可以帮你定位问题所在的地方,大大节省了时间。1.没有绘制出任何轮廓,说明顶点数据传输有问题,Shader无法解读数据。VS2019运行结果。...原创 2022-07-18 16:26:30 · 304 阅读 · 0 评论 -
Debug No3 多张纹理叠加
解决查dos.gl查文档,研究了下函数的参数。分析图片读入问题,打断点调试,读取成功。解决两张图片不能连续读取,需要在绑定第一张后再读取第二张。原因因为两张图片用的是一个指针,存在调用顺序问题。3.bug状态两张纹理在片段着色器和在主函数调用时,名字不统一,另外一个二元坐标和一个思源坐标输出也不匹配。(1)将获取ID的方法,封装成Shader类的成员方法(2)通过Shader类,获得成员变量ID。在实现了单项纹理应用后,想实践,多项纹理叠加组合。4.bug状态只显示一张纹理,非叠加效果。.........原创 2022-07-17 10:41:48 · 195 阅读 · 0 评论 -
Debug No2 按流程检查错误
这些方法封装了各个渲染需要的组件的的调用,而具体方法的复杂实现在其对应的类中(如shader类中的编译shader方法,ffImage类中的读取纹理图片等等)。这个过程可以假想成PS内的绘图功能,选定图层,选择画笔样式,设置绘制轮廓(指定数据),设置绘制方式。(1)Asset区,主要包含全局变量的声明,shaderProgram,VAO,VBO等,以及一些外部导入的资源_texture.推测黑色部分信息缺失。3.Bug状态,显示出一张采样信息错误的图片,没有纹理信息。,而不是RGBA,导致没有深度信息。..原创 2022-07-15 14:54:29 · 163 阅读 · 0 评论 -
Debug No1 总结出现bug的常见解决方案
2022年7月14日 早(debug1.5h+博客0.5h)1.在学习利用VBO和VAO绘制一个三角形时,出现了Bug,提示是:“std::ios_base::failure”报错位置在于Shader文件读入失败。解决:检查了读入代码,无误。又检查了Shader文件的存放位置。应在工程文件夹下的,与主函数文件统一文件夹下。在VS里,存放在资源文件目录下。语法应用场景要明确。2.之后Shader文件中发现"一处拼写错误"。打代码时要专注仔细。3.然后运行之后又出现"返回值异常:-1073741510"解决:刚原创 2022-07-14 09:16:57 · 425 阅读 · 0 评论