openglmdi

所属分类:OpenGL
开发工具:Visual C++
文件大小:117KB
下载次数:4
上传日期:2009-09-06 21:07:48
上 传 者chinaxiaobai
说明:  opengl的开发模板,本模板是基于MDI的.
(This form is based on MDI.)

文件列表:
openglmdi\hello.c (3499, 2003-12-03)
openglmdi\histogram.c (4459, 2003-12-03)
openglmdi\image.c (5249, 2003-12-03)
openglmdi\Imakefile (8303, 2003-12-03)
openglmdi\INDEX (2195, 2003-12-03)
openglmdi\jitter.h (6167, 2003-12-03)
openglmdi\light.c (3955, 2003-12-03)
openglmdi\lines.c (4770, 2003-12-03)
openglmdi\list.c (4111, 2003-12-03)
openglmdi\Makefile (3303, 2003-12-03)
openglmdi\Makefile.win (3981, 2003-12-03)
openglmdi\material.c (11189, 2003-12-03)
openglmdi\minmax.c (3865, 2003-12-03)
openglmdi\mipmap.c (6607, 2003-12-03)
openglmdi\model.c (3920, 2003-12-03)
openglmdi\movelight.c (4914, 2003-12-03)
openglmdi\multisamp.c (5956, 2003-12-03)
openglmdi\multitex.c (6380, 2003-12-03)
openglmdi\mvarray.c (4397, 2003-12-03)
openglmdi\pickdepth.c (6056, 2003-12-03)
openglmdi\picksquare.c (6106, 2003-12-03)
openglmdi\planet.c (4102, 2003-12-03)
openglmdi\pointp.c (6513, 2003-12-03)
openglmdi\polyoff.c (7397, 2003-12-03)
openglmdi\polys.c (5197, 2003-12-03)
openglmdi\quadric.c (6082, 2003-12-03)
openglmdi\readImage.c (2915, 2003-12-03)
openglmdi\robot.c (4260, 2003-12-03)
openglmdi\scene.c (4599, 2003-12-03)
openglmdi\select.c (7315, 2003-12-03)
openglmdi\shadowmap.c (10459, 2003-12-03)
openglmdi\smooth.c (3479, 2003-12-03)
openglmdi\stencil.c (5962, 2003-12-03)
openglmdi\stroke.c (5837, 2003-12-03)
openglmdi\surface.c (5905, 2003-12-03)
openglmdi\surfpoints.c (8271, 2003-12-03)
openglmdi\teapots.c (7868, 2003-12-03)
openglmdi\tess.c (7669, 2003-12-03)
openglmdi\tesswind.c (9266, 2003-12-03)
... ...

These are the example programs which are featured in the OpenGL Programming Guide, Fourth Edition (covering OpenGL verions 1.0 through 1.4). To compile these programs, you need OpenGL development libraries for your machine and Mark Kilgard's GLUT (Graphics Library Utility Toolkit), which is available on the Web at http://www.opengl.org/developers/documentation/glut/ Included with the program sources is the file "Makefile" (for Unix-based systems), and "Makefile.win" (for Microsoft (R) Windows based systems). You may need to modify some of the paths listed in the Makefiles to match the locations of the libraries on your system. There are a handful of modifications from the code which is printed in the OpenGL Programming Guide. Most noticeably, every program (except for hello.c and double.c, which are featured in the first chapter) has a keyboard callback function to exit the program when the ESCape key is pressed. * Changes between this directory and the examples printed in the book Also, after the book went to press, a couple of discrepancies between the UNIX and MS Windows compilers became noticeable, requiring changes to the source code. Most obviously, all PC programs had to include before or . GLUT already does this in the correct order, so the simplest solution was to only include and to let it include (if needed) the windows.h, gl.h, and glu.h files, in the correct order. The torus.c program refers to a symbolic constant M_PI, which may not be found on MS Windows based systems. A new constant PI_ has replaced it and is defined within the program. Several programs use callback functions. The method of casting those callback functions worked fine on UNIX based systems, but not on PCs. The programs quadric.c, surface.c, trim.c, tess.c, and tesswind.c have been modified. References to (GLvoid (*)) cast have been removed, and a reference to the CALLBACK type has been added to the declaration of the callback functions. Where CALLBACK is undefined (for instance, in UNIX systems), it is stubbed out by use of #ifndef. The programs accpersp.c and dof.c used the variable names "near" and "far" which are reserved words for PC compilers. If needed, these variables names are now redefined during pre-processing (by using #ifdef). * OpenGL 1.0 to 1.1 compatibility issues Most of these programs also run well on OpenGL 1.0. There are nine programs which use features not found in OpenGL 1.0. The four programs checker.c, mipmap.c, texgen.c, and wrap.c use texture objects, and have been modified so that they will avoid the use of texture objects on OpenGL 1.1 machines. So these programs will still run well on OpenGL 1.0. The five programs polyoff.c, texbind.c, texprox.c, texsub.c, and varray.c demonstrate features which are new in OpenGL 1.1. On OpenGL 1.0, these five programs will not run; instead an error message will be printed out. If your implementation of OpenGL 1.0 supports polygon offset, vertex array, and/or texture extensions, you may be able to modify the code to run on your implementation. * OpenGL 1.1 to 1.2 compatiblity issues Most of the programs included in this distribution will work with OpenGL 1.1. * Notes for programs demonstrating the ARB Imaging Subset With the introduction of OpenGL 1.2, the OpenGL Architecture Review Board added the ARB Imaging Subset. The imaging subset is not part of the core OpenGL functionality, and as such, your implementation may not support it. For simplicity's sake, the programs included in this set of programs do not check for support of the imaging subset; production applications should. These programs are: colormatrix.c, colortable.c, convolution.c, histogram.c, minmax.c, and blendeqn.c. These programs may not compile, if your client library doesn't support the ARB Imaging Subset. Likewise, if your server (or hardware driver) does not export the string, "GL_ARB_imaging" when you query for extensions, these programs will not execute. * OpenGL 1.2 to 1.3 / 1.4 compatiblity issues All programs from the previous versions will work fine with OpenGL 1.2. In some cases, you may need to use the appropriate function (e.g. wglGetProcAddress() on Microsoft Windows, or glXGetProcAddress() for the X Window System) to retrieve the necessary OpenGL function pointer. Thank you. Mason Woo - mason@woo.com Dave Shreiner - shreiner@sgi.com Co-authors of the OpenGL Programming Guide, Fourth Edition 

近期下载者

相关文件


收藏者