Augusdi的专栏

攀登技术的高峰,我与大家共勉!

OpenG: 光照

绘制带有光照效果的场景;场景包含3个茶壶,通过键盘1,2,3可以分别选中三个茶壶,然后用鼠标对每个茶壶进行分别的旋转;使用点光源,点光源为白色,以白色的球体表示;使用3个不同的点光源           i.      光源1的坐标设置在世界坐标系中,并围绕着三个茶壶的中心进行圆周运动;     ...

2014-08-15 23:51:31

阅读数 2025

评论数 1

OpenGL: 放大镜功能

要求:1.在练习5的基础上,实现放大镜功能,放大场景中的任意部分;2.放大镜可以通过鼠标键盘进行控制;考察目的:1.对OpenGL坐标系变换的理解; 我的思路就是,获取屏幕坐标,转换成opengl 坐标。移动glulookat到相应的位置,然后拉近摄像头距离,实现放大不过,不能是正交投影,正交投影...

2014-08-15 23:49:28

阅读数 2550

评论数 0

OpenGL: 绘制3D物体、鼠标交互、反向变换

/* reference http://nehe.gamedev.net/article/using_gluunproject/16013/ */ #include // windows系统要加这个。因为下面2个头文件的一些宏是在这个文件中定义的 #include #include ...

2014-08-15 23:40:11

阅读数 5448

评论数 0

OpenGL: OpenGL环境下的射线选择

用过OpenGL的人,应该都知道,OpenGL是自带拾取功能的,但用过的人应该也知道,这功能确实不好用。 OpenGL自带的选择功能主要有两种,名字堆栈(拾取)和读深度值判断选择,但这两种方法在实际项目中,未必都好用。 方法一:名字堆栈的方法,需要切换渲染模式,操作命名堆栈,计算拣选矩阵,检查选中...

2014-08-15 23:37:00

阅读数 2113

评论数 0

OpenGL: 屏幕坐标向OpenGL坐标转换

屏幕坐标向OpenGL坐标转换      很多人用OpenGL绘图会遇到一个问题即屏幕坐标向OpenGL坐标转换,在网上流传着如下类似的代码:    注:(x, y)是屏幕坐标,(winX, winY, winZ)是视景体坐标及深度坐标,(posX, posY, posZ是OpenGL坐标。   ...

2014-08-15 23:27:13

阅读数 3764

评论数 0

OpenGL: 屏幕二维坐标转化成三维模型坐标

我们把OpenGL里模型的三维坐标往二维坐标的转化称为投影,则屏幕上的二维坐标往三维坐标转化则可以称为反投影,下面我们来介绍一下反投影的方法。主要是gluUnProject函数的使用,下面是代码: void screen2GLPoint() { int x = xCord; /* 屏幕坐标...

2014-08-15 23:20:17

阅读数 5313

评论数 2

OpenGL: OpenGL实现立体显示

立体显示原理:设没有立体显示的模型视图矩阵ModelView为Mv,投影矩阵为Mp,则、物体空间的任何一点为P,则变换到屏幕坐标P*=Mp×Mv×P;注意前面已经说过opengl里面坐标列优先,所以矩阵都是右乘。左眼和右眼的变换都是由中间的变换矩阵变换而来,则立体显示中左眼的变换矩阵公式为:P(L...

2014-07-23 11:15:50

阅读数 2202

评论数 0

OpenGL: 一个轻型库:geometry template library

最近在google code 上面看了很多3d方面的优秀的库,以及一些游戏引擎, 学习到了很多东西,当然了要归功于开源,再一次被开源的魅力所感动。这里我想和大家分享一个小型的3D库,名字简称也叫GTL: Geometry Template Library。说到GTL一般人都会想到graphy te...

2014-07-23 09:20:20

阅读数 1903

评论数 0

OpenGL: Shading 编程

回忆OpenGL的渲染管线,里面的顶点处理管线,和片原管线都是可以通过编程实现的。现在一般的显卡都是支持GPU编程的。GPU与CPU的区别:GPU是并行的,多管线的,所以速度一般都很快,而且GPU是矢量处理器,所以GPU编程中的变量可以有float1, float2, float3, float4...

2014-07-23 09:18:10

阅读数 1493

评论数 0

OpenGL: Alpha融合和图片透明度[AlphaBlend]

Alpha融合,不论是在3D还是2D中都常见,最常见的应用就是:设置图片的透明度,不透明度,可以实现抠图。 其实现思想如下:有个混合因子,主要是颜色混合:浮点表示:0.0f 整数表示: 0x00 分开计算R,G,B混合

2014-07-23 09:09:24

阅读数 1903

评论数 0

OpenGL: OpenGL渲染流程

物体坐标系:物体位于坐标系原点位置。视点坐标系:视点位于坐标系原点位置。               模型视图变换物体坐标系 -------------  视点坐标系最近不怎么看ogl了,但是总有一些东西是需要记忆的:add 2012/12/11 - dizuo / peteryfren裁剪在投影...

2014-07-23 09:09:17

阅读数 4976

评论数 0

OpenGL: OpenGL圆柱面绘制贴图

最近看到dx中的sample中有用顶点数组实现的圆柱体贴图的程序。于是自己写了一个圆柱体的类,支持生成纹理坐标,法线,坐标。构造圆柱体的参数主要有:水平分段数(就是上下圆的分段数目),高度上的分段数目,(至少有两段:上下两个圆面)半径,高度。顶点生成的原理:将圆柱面展开就是一个矩形。而纹理也是一个...

2014-07-22 23:47:27

阅读数 2049

评论数 2

OpenGL: OpenGL中的平面圆绘制与贴图

两种画圆的方法,DrawCircle2()为一般的做法,利用GL_LINE_STRIP实现, [cpp] view plaincopyprint?void DrawCircle2(float cx, float cy, float r, int num_segments)  {      glBe...

2014-07-22 17:20:14

阅读数 1250

评论数 0

OpenGL: OpenGL下通过鼠标动态绘制三次Bezier曲线

三次Bezier曲线有四个控制节点。利用OpenGL的一维求值器原理。 程序介绍:第一次鼠标左键down点为0控制节点, 按住左键移动动态移动确定1控制节点,第二次鼠标左键down点3控制节点,按住左键移动,确定2控制节点。程序运行的效果图:  代码只是实现了绘制一段Bezier如下:#inclu...

2014-07-22 17:20:14

阅读数 2965

评论数 0

OpenGL: 透明 不透明 混合【3D游戏引擎设计】

源颜色:(Rs, Gs, Bs, As)不表颜色:(Rd, Gd, Bd, Ad)最终混合结果的颜色:(Rf, Gf, Bf, Af)此处讨论的所有颜色通道的值都是在[0, 1]范围之间。材质颜色和纹理图片的颜色都具有alpha通道。 一,使用alpha通道融合,最经典的用法就是作为混合因子,如果...

2014-07-22 17:09:42

阅读数 2634

评论数 0

OpenGL: 纹理模拟球体漫反射

先看下面的效果图:    没有灯光,没有设置材质属性,没有绘制球体,更加没有设置球体的漫反射系数。。。其实是将一个特殊的纹理映射到一个圆上的结果。纹理生成函数,类似棋盘函数,所以只需将红皮书上棋盘函数稍作修改:int fakeSphere(int i, int j) { float s = (f...

2014-07-22 17:03:33

阅读数 2587

评论数 0

OpenGL: 纹理映射函数

/***************************************************************************** * * FUNCTION * * INPUT * * OUTPUT * * RETURNS * * AUTHOR * * DESCRIPTI...

2014-07-22 15:28:44

阅读数 1204

评论数 0

OpenGL: 通过射线求交实现物体的拾取

如上图, 先利用gluUnProject函数将屏幕上的鼠标的二维坐标转化为照相机视域中近平面上的点B1(X1, Y1, Znear),或者远平面上对应的点B2(X2, Y2, Zfar); 一般使用近平面上的B1点。视点的为A(X0, Y0, Z0)。A和B1确定一个以A为起点的射线(更准确叫视线...

2014-07-22 12:43:51

阅读数 4485

评论数 0

OpenGL: 3D中投影矩阵公式的推导

里面都是公式, 而且csdn的博客工具栏不支持插入公式。所以只能全部用图片~~~opengl中近平面是投影平面 http://blog.csdn.net/ryfdizuo/article/details/4725641

2014-07-22 12:42:46

阅读数 1880

评论数 0

OpenGL: 纹理映射中的双线性插值

A texture mapping technique that produces a reasonably realistic image, also known as "bilinear filtering" and "bilinear texture mappi...

2014-07-22 12:41:48

阅读数 3269

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭