其实写到这里,我很想放弃了。原因有三:
1:C++实在是忘光了。
2:MFC实在太庞大了。
3:本来我就对图形的东东没有概念。
不过,不愿意认输的我,继续写点体会,能学多少就多少吧,实在不行再放弃吧。
总结下NeHE(据说是一个OpenGL的大宗师,他妈的,写的东西也能叫教程?但是实在是找不出他写的比谁烂的教程,咬吧。)
跟着他的第一个代码(整整400行,这也他妈的叫初始代码?),基本上就明白,这些代码是一个筐架,其中有2个东东比较重要,
1:DC(
Device Context),翻译说是设备管理表?个人认为叫设备管理上下文吧,能好点:)
2RC(
Rendering Context) 据说这叫着色描述表。
整个程序是一个空白的窗口骨架程序,其中有个关键方法:WndProc(),在调用CreateWindows()的时候被调用,这里写你绘制程序的代码。
OpenGl中,任何绘制的图形都是以三角和四边形作为基础。
OpenGL程序一般执行流程:
根据这个流程,我们可以归纳出在OpenGL中进行主要的图形操作直至在计算机屏幕上渲染绘制出三维图形景观的基本步骤:
1)根据基本图形单元建立景物模型,并且对所建立的模型进行数学描述(OpenGL中把:点、线、多边形、图像和位图都作为基本图形单元)。
2)把景物模型放在三维空间中的合适的位置,并且设置视点(viewpoint)以观察所感兴趣的景观。
3)计算模型中所有物体的色彩,其中的色彩根据应用要求来确定,同时确定光照条件、纹理粘贴方式等。
4)把景物模型的数学描述及其色彩信息转换至计算机屏幕上的象素,这个过程也就是光栅化(rasterization)。