用C+Win32API编写一个标准OpenGL窗口

王朝网络·system·作者佚名  2006-01-09
宽屏版  字体: |||超大  

Before we start this lesson, I want to introduce sth about Win32 programming. If you already know it, you can skip this part, otherwise, you should read it carefully. :)

Once we want to create a standard Win32 application, the following steps are necessary:

1,Get the handle of your application

2,Get parameters of commandline

3,Registe your window class(not necessary when you use window predefined by system,such as MessageBox,dialogbox)

4,Create a window

5,Display the window

6,Refresh client area

7,Get message and use the CALLBACK function to deal with it

8,Exit

It's only a brieaf introduction to Win32 application.If you want to know more, read books about Win32 programming.

To create a OpenGL window follow these steps, but we will do sth more.

1,After you create a window, you should get the DC(Device Context) of our window. We will use it to draw the things in the client area.

2,Then, we choose a pixel format. It describe the format of every pixel display on the client area. Before doing this, make sure that you've already create a PIXELFORMATDESCRIPTOR and initialize it.

3,Get a RC(Rendering Context) for our window.Every OpenGL window is linked to a RC.It links all OpneGL-commands to DC.

4,Show our OpenGL window

5,Reset The Current Viewport ;

Select The Projection Matrix;

Reset The Projection Matrix;

Set up a perspective projection matrix;

Select The Modelview Matrix;

Reset The Modelview Matrix

6,Initialize parameters of the OpenGL window,including shade mode,background color,depth buffer,depth testing(it make sure that in a certain direction the program draw surfaces nearest to us only,so that we will never see a suface behind other sufaces.Otherwise we will see all the surfaces).And, if you like, you can set other parameters such as the way of depth-buffer comparisons,the quanlity of pictures to be displayed,ect.

7,Begin to get message and deal with it

Now, you've already create a standard OpenGL window! [by Chao] [cookie.chao@163.com]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有