![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL
文章平均质量分 78
孙群
关注前端HTML5,关注地理数据可视化,热爱移动互联网,爱开源,爱分享!
展开
-
3D空间的坐标系
转载自http://blog.csdn.net/trojanpizza/article/details/66525331. 本地坐标系、局部坐标系(Local Coordinate) 所谓本地坐标系,就是坐标系以物体的中心为坐标原点,物体旋转、平移等操作都是围绕局部坐标系进行的。这时当物体模型进行旋转、平移等操作时,局部坐标系也执行相应的旋转、平移等操作。 局部坐标转载 2011-12-31 16:33:28 · 3629 阅读 · 0 评论 -
OpenGL渲染管线
以下部分节选自Joe Groff的文章《现代OpenGL简介 – 第一章:图形管线》,转载自www.hiwebgl.com 渲染管线的处理流程开始于建立顶点数组(Vertex Array)。这些数组包括了顶点属性(例如顶点在3D空间中转载 2012-05-30 18:09:19 · 3437 阅读 · 0 评论 -
OpenGL中的坐标变换、矩阵变换
OpenGL中存在六种坐标系:1. Object or model coordinates(模型坐标系)2. World coordinates(世界坐标系)3. Eye (or Camera) coordinates(视坐标系)4. Clip coordinates(裁剪坐标系)5. Normalized device coordinates(归一化设备坐标系)6. Wi原创 2014-06-01 16:12:33 · 20798 阅读 · 17 评论 -
WebGL自学课程(13):获得三维拾取向量
一个三维点最终展现在屏幕上要经过很多的矩阵变换,如果要根据屏幕上的2D点获取对应的三维信息,那么就需要对3D到2D转变的操作进行逆操作,我们先来看一下从3D到2D的具体的变换过程是怎么样的。三维中一点要想展现在屏幕上需要经过这么几个重要的变换过程:模型变换->视点变换->投影变换->投影除法。在顶点着色器中我们需要自己手动完成前三个变换过程(模型变换、视点变换、投影变换),如下所示:原创 2013-05-05 13:39:13 · 5043 阅读 · 8 评论 -
OpenGL基础知识
1.相机的位置就是视点。 2.OpenGL绕坐标轴旋转一个正的角度,就是从坐标轴的正半轴看向负半轴,逆时针旋转。 3.默认情况下,OpenGL视点的初始位置就是世界坐标系的原点,默认情况下: a.视点的初始位置位于世界坐标系的原点; b.OpenGL是右手坐标系,视点的初始方向和世界坐标系的Z轴负方向一致,初始视方向垂直于屏幕指向屏幕的内部; c.视点原创 2012-01-06 22:07:12 · 7174 阅读 · 1 评论 -
OpenGL 矩阵变换相关链接
感觉这几篇文章对OpenGL中的矩阵变化解释的比较好:原创 2014-05-31 07:51:18 · 2484 阅读 · 3 评论 -
GLSL vs HLSL vs Cg
摘抄自《GPU Programming And Cg Language Primer 1rd Edition》 中文名《GPU编程与CG语言之阳春白雪下里巴人》Shader language目前有3种主流语言:基于OpenGL的GLSL(OpenGL Shading Language,也称为GLslang),基于Direct3D的HLSL(High Level Shading Language转载 2013-07-17 00:31:47 · 5380 阅读 · 1 评论 -
WebGL自学课程(14):WebGL使用Mipmap纹理
未使用Mipmap纹理前锯齿马赛克明显:使用Mipmap纹理后锯齿马赛克不明显,变模糊了:使用Mipmap代码如下:gl.bindTexture(gl.TEXTURE_2D, texture);gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA,原创 2013-05-05 14:58:11 · 5812 阅读 · 0 评论 -
Texture Wrapping Mode
注:转自http://blog.sina.com.cn/s/blog_61f4999d0100mhlq.html在进行纹理帖图时,图象会出现在物体表面的(u,v)位置上,而这些值在[0.0,1.0]范围内。但是,如果超出这个值域,会发生什么情况呢?这由 纹理的映射函数来决定。在OpenGL中,这类映射函数称为“Texture Wrapping Mode”;在D3D中,称为“Texture Ad转载 2012-12-01 16:39:28 · 2689 阅读 · 0 评论 -
GLSL语法基础
转载自:http://www.cppblog.com/init/archive/2011/11/20/160579.aspxGLSL语法跟C语言非常相似:1.数据类型:GLSL包含下面几种简单的数据类型float bool :false or tureint向量:vec {2,3,4} 长度为2, 3, 4的float向量bvec {2,3,4}转载 2012-07-27 14:44:04 · 3035 阅读 · 0 评论 -
OpenGL混合
转载自:http://blog.csdn.net/aurora_mylove/article/details/1700540混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。假设我们需要绘制这样一个场景:透过红色的玻璃去看绿色的物体,那么可以先绘制绿色的物体,再绘制红色玻璃。在绘制红色玻璃的时候,利转载 2012-07-27 13:24:41 · 1887 阅读 · 0 评论 -
OpenGL中的像素操作
转载自:http://bbs.pfan.cn/showtxt.asp?id=227694注:关于OpenGL中像素操作的更多内容可以参考《OpenGL编程指南第七版》第八章“绘制像素、位图、字体和图像”。学过多媒体技术的朋友可能知道,计算机保存图象的方法通常有两种:一是“矢量图”,一是“像素图”。矢量图保存了图象中每一几何物体的位置、形状、大小等信息,在显示图象时,根据这些信息计算得到完整转载 2012-08-04 16:06:10 · 5575 阅读 · 0 评论 -
旋转、移动OpenGL视坐标系
我们在OpenGL开发中,经常要进行三维的漫游,很多情况下三维的场景的变换只是通过改变模型的旋转角度、平移位置来实现的“假三维”。之所以说这种实现三维漫游的方式是假三维是因为这样做改变了模型的各个顶点的坐标,并且摄像机是不动的,这不符合真实世界中的三维漫游。试想一下,在真是的三维世界中,我们的人眼就是Camera,我们是怎么实现三维漫游的呢?我们通过扭动脖子来实现三维场景的旋转、通过前后左右的移动原创 2012-01-12 10:57:12 · 3487 阅读 · 0 评论 -
OpenGL模型视图变换、投影变换、视口变换
转自http://blog.csdn.net/longge7685/article/details/5274467OpenGL中不设置模型,投影,视口,所绘制的几何图形的坐标只能是-1到1(X轴向右,Y轴向上,Z轴垂直屏幕)。产生目标场景的过程类似于用照相机进行拍照:(1)把照相机固定在三角架上,并让他对准场景 从不同位置观察场景(视图变换)(2)对场景进行安排,使各个物体转载 2012-01-03 12:28:31 · 3409 阅读 · 0 评论 -
OpenGL ES 2.0编程基础
本人在学WebGL,WebGL的资料很少,由于WebGL是OpenGL ES 2.0的子集,所以先学习一下OpenGL ES 2.0的基础知识。OpenGL中既有固定管线处理流程,也可以使用shader进行可编程的管线处理,OpenGL ES 2.0是完全可编程的管线流程,而没有固定管线流程,这给我们增加了更多的灵活度,以前可以让OpenGL替我们做的事情,现在必须要我们在shader中自己去实现原创 2012-06-10 11:08:02 · 7541 阅读 · 3 评论