opengl怎么直接使用针对单个顶点,单一数据源的api函数生成一个四面体
遇见更好的自己
2024-09-25 03:04:42
最佳回答
#include #include #include "glos.h" void main(void) { auxinitd**playmode(aux_single|aux_rgba); auxinitposition(0,0,500,500); auxinitwindow("simple"); glclearcolor(0.0,0.0,0.0,0.0); glclear(gl_color_buffer_bit); glcolor3f(1.0,0.0,0.0); glrectf(-0.5,-0.5,0.5,0.5); glflush(); _sleep(1000); } 这个程序运行结果是在屏幕窗口内画一个红色的方块。 下面整个程序结构:首先,在程序最开始处是opengl头文件:、。前一 个是gl库的头文件,后一个是辅助库的头文件。此外,在以后的几章中还将说明opengl的另外两个头文件,一个是实用 库的头文件,另一个是x窗口扩充库的头文件(这个常用在工作站上)。接下来是主函数main()的定义:一般的程序结构 是先定义一个窗口: auxinitd**playmode(aux_single|aux_rgba); auxinitposition(0,0,500,500); auxinitwindow("simple"); auxinitd**playmode(aux_single|aux_rgba)设置窗口显示模式为rgba方式,即彩色方式,并且图形缓存为单缓存(single buffer)。 auxinitposition(0, 0, 500, 500)定义窗口的初始位置,前两个参数(0, 0)为窗口的左上角点的屏幕坐标,后两个参数(500,500)为窗口的宽度和高度。auxinitwindow("simple")是窗口,字符 参数是窗口名称。 然后是窗口内清屏: glclearcolor(0.0,0.0,0.0,0.0); glclear(gl_color_buffer_bit); 第一句将窗口清为黑色,第二句将颜色缓冲区清为glclearcolor(0.0, 0.0, 0.0, 0.0)命令所设置的颜色,即同窗口背景颜色一致。 再接着是在窗口内画一个物体: glcolor3f(1.0,0.0,0.0); glrectf(-0.5,-0.5,0.5,0.5); 很明显,第一句设置物体颜色,函数中前三个参数分别为r、g、b值,最后一个参数是alpha值,范围都从0至1;第二句绘制一个二维矩形。注意:opengl是针对三维图形而言,因此用作opengl编程绘制物体必须意识到任何一个物体都是三维的,具有空间性,而显示于屏幕上的物体都是三维物体在二维平面上的投影。 从表面上看,上述程序代码很简单,实际上已经用到了缺省的投影形式()。再看glflush()函数,表示强制绘图完成。最后一句_sleep(1000),参数单位为,整句意思是保持现有状况一秒钟,然后结束程序运行。这个函数是的。 总而言之,opengl程序基本结构为定义窗口、清理窗口、绘制物体、结束运行。 20210311