首页 理论教育 的基本程序结构

的基本程序结构

时间:2022-02-01 理论教育 版权反馈
【摘要】:用Open GL编写应用程序,就相当于在应用程序中添加了一个三维函数库。规定了三维图形在窗口坐标系中的显示位置,定义窗口的大小和性质;②初始化。包括三维建模、设置物体在立体空间的运动轨迹、变换Open GL的状态变量、协调合理地结合应用Open GL的各种基本操作、实现完美的三维图形显示。为了说明Open GL的主体结构,下面为用标准C调用Open GL函数编制的一段程序样本。
的基本程序结构_地学三维可视化

用Open GL编写应用程序,就相当于在应用程序中添加了一个三维函数库。一般包括以下几部分。①窗口的定义。规定了三维图形在窗口坐标系中的显示位置,定义窗口的大小和性质;②初始化。包括清缓冲区、定义光照模型、定义纹理映射、安装显示列表、定义雾化、定义视口等;③绘制和显示图形。包括三维建模、设置物体在立体空间的运动轨迹、变换Open GL的状态变量、协调合理地结合应用Open GL的各种基本操作、实现完美的三维图形显示。为了说明Open GL的主体结构,下面为用标准C调用Open GL函数编制的一段程序样本。

#include<GL/gl.h>

#include<GL/glu.h>

#include<GL/glaux.h>

#include<stdio.h>

void my Init(void)

void CALLBACK display(void)

void CALLBACK ny Reshape(Glsizei w,Glsizei h)

//

//初始化工作,设定清屏颜色

void my Init(void){

gl Clear Color(0.0,0.0,0.0,0.0)

//绘制场景

void CALLBACK display(void){

gl Clear(GL_COLOR_BUFFER_BIT);

gl Color4f(0.2,0.6,1.0,1.0);

gl Rotatef(60.0,1.0,1.0,1.0);

aux Wire Cube(1.0);

gl Flush();

//

//定义视口的大小和三维场景的视景体

void CALLBACK my Reshape(Glsizei w,Glsizei h){

gl Viewport(0,0,w,h);

//调用5个aux为前缀的函数,完成窗口和事件的管理

void main(void){

aux Init Display Mode(AUX SINGLE|AUX_RGBA);//定义窗口的显示属性

aux Init Position(0,0,400,400);//定义了程序执行窗口的位置和大小

aux Init Window("sample.c");

my Init();

aux Reshape Fun(my Reshape);//当图形输出窗口大小变化时主程序自动调用这个函数

aux Main Loop(display);//每次窗口建立、移动、改变形状和其他事件发生时需重新//绘制场景

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈