Dav*_*ave 5 c++ opengl rendering
我有一些学生正在进行体积渲染项目.我正在尝试设计最基本的可能示例来启动它们.我想要做的是有一个窗口,并根据通过底层体积数据集的光线投射独立设置窗口中的每个像素.例如,可以使用Windows API函数轻松完成此操作.但是我们想要使用OpenGL.
我有两个想法:
或者,稍微复杂一点......
所以我的问题是双重的:有没有比这些选择更好的方法?有人能指出我相关的OpenGL函数来完成这些方法吗?
第一个选项,逐个像素会非常慢!我建议您创建一个与窗口大小相同的 RGB 缓冲区,并使用glDrawPixels来绘制它。
编辑:
unsigned char * buffer = new unsigned char [width * height * 3];
glRasterPos(0,0);
glDrawPixels(width,height,GL_RGB,GL_UNSIGNED_BYTE,buffer);
delete [] buffer;
Run Code Online (Sandbox Code Playgroud)