2011年3月7日

《基于MFC的OpenGL编程》Part 11 Blending, Antialiasing and Fog

摘要: Blending and TransparencyBlending in OpenGL provides pixel-level control of RGBA color storage in the color buffer. To enable blending we must first call glEnable(GL_BLEND). We have to set up the blending function glBlendFunc with two arguments: the source and the destination colors. By default thes 阅读全文

posted @ 2011-03-07 16:22 游戏开发:主席 阅读(257) 评论(0) 推荐(0) 编辑

《基于MFC的OpenGL编程》Part 10 Texture Mapping

摘要: 本文在第9篇文章的基础上,为立方体加入纹理映射的功能。Texture MappingTexture Mapping in OpenGL is a fairly straightforward concept. Every texture is nothing but an image of some sort. Texture mapping is basically applying a texture to a surface. Textures can be 1D, 2D or even 3D. A 1D texture is an image with either a width o 阅读全文

posted @ 2011-03-07 16:20 游戏开发:主席 阅读(307) 评论(0) 推荐(0) 编辑

《基于MFC的OpenGL编程》Part 9 Lighting

摘要: 本文在第8篇文章的基础上,为其加入灯光效果。MaterialsOpenGL materials are description of what objects are made of. It basically specifies how much of light they reflect and this is what we would be seeing. OpenGL lighting goes a long way towards modeling real world lighting. In order achieve proper lighting effects in Op 阅读全文

posted @ 2011-03-07 16:19 游戏开发:主席 阅读(233) 评论(0) 推荐(0) 编辑

《基于MFC的OpenGL编程》Part 8 Colors

摘要: OpenGL支持两种颜色模式:RGBA和颜色索引模式,本文关注于前者。Smooth Shading and Flat ShadingWhen Smooth Shading is specified, the color values are interpolated between vertices. If Flat Shading is specified, one vertex is selected as being representative of all the vertices, thus the entire primitive is displayed using one s 阅读全文

posted @ 2011-03-07 16:18 游戏开发:主席 阅读(229) 评论(0) 推荐(0) 编辑

《基于MFC的OpenGL编程》Part 7 Animation

摘要: 本文中将对第5篇文章的太阳系模型进行修改,加入一些动画效果。此外还会加入显示帧速率的代码。 加入动画效果最容易的方法是响应WM_TIMER消息,在其消息处理函数中改变一些参数值,比如每过多少毫秒就旋转一定的角度,并且重绘场景。Frame RateFrame rate is nothing but the number of frames that can be rendered per second. The higher this rate, the smoother the animation. In order to calculate the frame rate we retriev 阅读全文

posted @ 2011-03-07 16:17 游戏开发:主席 阅读(362) 评论(0) 推荐(0) 编辑

《基于MFC的OpenGL编程》Part 6 Keyboard and Mouse Control

摘要: 在上一篇的基础上加入对键盘和鼠标的事件处理程序,以便用其来控制3D物体的旋转和移动。1,首先在CCY457OpenGLView类中为WM_KEYDOWN, WM_LBUTTONDOWN, WM_LBUTTONUP 和 WM_MOUSEMOVE四个事件加入事件处理函数。2,在CCY457OpenGLView.h中加入下列用于控制旋转和移动的变量:GLfloatm_xAngle;GLfloatm_yAngle;GLfloatm_xPos;GLfloatm_yPos;CPointm_MouseDownPoint;并在构造函数中初始化:CCY457OpenGLView::CCY457OpenGLVie 阅读全文

posted @ 2011-03-07 16:15 游戏开发:主席 阅读(202) 评论(0) 推荐(0) 编辑

《基于MFC的OpenGL编程》Part 4 Drawing Simple 3D objects

摘要: 视见体Viewing Volume is nothing but the region of 3D Cartesian space in that will occupy the window. It is nothing but the minimum and maximum x, y and z values that are inside the window. So if a vertex is outside this range of x, y and z values then they are clipped by OpenGL before rendering can occ 阅读全文

posted @ 2011-03-07 16:14 游戏开发:主席 阅读(225) 评论(0) 推荐(0) 编辑

《基于MFC的OpenGL编程》Part 5 Transformations - Rotations, Translations and Scaling

摘要: Transformations - Translation, Rotation and ScalingTranslation is nothing but moving along an arbitrary axis. Rotation is spinning about an arbitrary axis. Scaling is increase or decrease in size along an arbitrary axis. One important point to remember is that OpenGL uses a right hand coordinate sys 阅读全文

posted @ 2011-03-07 16:14 游戏开发:主席 阅读(198) 评论(0) 推荐(0) 编辑

《基于MFC的OpenGL编程》Part 3 Drawing Simple 2D Shapes

摘要: 剪裁区域In OpenGL when you create a window to draw in we must specify the coordinate system we want to use and how to map the specified coordinates into physical screen coordinates. We would be using the 2D Cartesian coordinate system with the origin 0,0 at the centre of the screen. Before we can start 阅读全文

posted @ 2011-03-07 16:12 游戏开发:主席 阅读(215) 评论(0) 推荐(0) 编辑

《基于MFC的OpenGL编程》Part 2 Setting up OpenGL on Windows

摘要: 源代码下载:OpenGL_ch2.rarWGL – Windows的 OpenGL扩展层 The WGL extension consists of a set of functions (wglCreateContext, wglDeleteContext etc.) and structures (such as PIXELFORMATDESCRIPTOR, GLYPHMETRICSFLOAT) etc. Thus every OpenGL implementation has a platform-specific portion which has to be set up and u 阅读全文

posted @ 2011-03-07 14:51 游戏开发:主席 阅读(399) 评论(0) 推荐(0) 编辑

《基于MFC的OpenGL编程》Part 1 A Primer

摘要: 3D图形学基本概念PerspectivePerspective refers to the angles between the lines that lend the illusion of three dimensions. Colors and ShadingMoving beyond line drawing, we need to add color to create a solid object. Shading refers to the way the color is applied to the polygon. Shading can be of two types i 阅读全文

posted @ 2011-03-07 14:45 游戏开发:主席 阅读(260) 评论(0) 推荐(0) 编辑

导航