关于x,y的计算,我理解的是先把在scene中的x,y坐标映射到[-1,1]上,然后在通过乘上scale和imageAspectRatio变换到世界坐标下,不知道这样理解是否有错。然后对于项目的编译没有报错,但是在运行的时候会报runtime error,具体的报错信息在图中,有大佬知道为什么吗。具体的报错代码是
color[0] = (char)(255 * clamp(0, 1, framebuffer[i].x));
color[1] = (char)(255 * clamp(0, 1, framebuffer[i].y));
color[2] = (char)(255 * clamp(0, 1, framebuffer[i].z));
我将char换成unsigned char就不会报错,但是渲染出来是黑色的,也就是说clamp返回的值始终是0,然后乘上255仍然是0,我是这么理解的不知道有没有错误。