3D游戏开发坐标

转载 2011年01月17日 10:19:00

本文大部分内容来自CSDN博客,转载请标明出处:http://blog.csdn.net/firefly_liu/archive/2009/05/08/4160296.aspx

 

openGL使用右手坐标

从左到右,x递增
从下到上,y递增
从远到近,z递增


--------------------------------------------------------------------------------

OPENGL坐标系可分为:世界坐标系和当前绘图坐标系。

世界坐标系以屏幕中心为原点(0, 0, 0)。你面对屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的为z正轴。长度单位这样来定: 窗口范围按此单位恰好是(-1,-1)到(1,1)。

当前绘图坐标系是 绘制物体时的坐标系。程序刚初始化时,世界坐标系和当前绘图坐标系是重合的。当用glTranslatef(),glScalef(), glRotatef()对当前绘图坐标系进行平移、伸缩、旋转变换之后, 世界坐标系和当前绘图坐标系不再重合。改变以后,再用glVertex3f()等绘图函数绘图时,都是在当前绘图坐标系进行绘图,所有的函数参数也都是相 对当前绘图坐标系来讲的。


比例,我们要画一个立方体:

 

   //世界坐标是屏幕中心为原点,面对屏幕右边为+x,左边为-x,上面为+y,下面为-y,垂直屏幕指向自己为+z轴


   //先是正面四个点:先左下角,然后右下角,这样逆时针依次画四个点
    static GLfloat v0[] = { -1.0f, -1.0f,  1.0f };   
    static GLfloat v1[] = {  1.0f, -1.0f,  1.0f };
    static GLfloat v2[] = {  1.0f,  1.0f,  1.0f };
    static GLfloat v3[] = { -1.0f,  1.0f,  1.0f };
   //这里开始后面四个点,画的顺序与前面四个点一样
    static GLfloat v4[] = { -1.0f, -1.0f, -1.0f };
    static GLfloat v5[] = {  1.0f, -1.0f, -1.0f };
    static GLfloat v6[] = {  1.0f,  1.0f, -1.0f };
    static GLfloat v7[] = { -1.0f,  1.0f, -1.0f };

 

【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;

李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/472.html        ...

【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;

junwong发表于 3-2 16:12 1个月前,0回/234阅 (

【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十一课:Cocos2D-X坐标系统2-3

【麦可网】Cocos2d-X跨平台游戏开发---学习笔记 第十一课:Cocos2D-X坐标系统2-3 ===========================...

【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十课:Cocos2D-X坐标系统1

【麦可网】Cocos2d-X跨平台游戏开发---学习笔记 第十课:Cocos2D-X坐标系统1 ================================...

《Unity3D 游戏开发》宣雨松

  • 2017年12月07日 13:41
  • 27.79MB
  • 下载

【游戏开发3D数学笔记】6.坐标系切换和纹理

一.物体坐标系到世界坐标系(Model Matrix)        在之前固定流水线,需要将模型的顶点坐标从自身坐标系依次进行缩放,旋转,平移操作(这个顺序不能改变)。而在可编程管线中,这些操作放到...

U3D游戏开发—程序员转型篇(一)背景介绍

第一篇博客,如有什么思维上或者讲述的不够合理,欢迎各种网络上的大神砸砖; 为什么写这篇博客,可能跟本人性格有关系,“好为人师”,高中的时候,最喜欢给女朋友将地址知识了,把她讲的不会了,我居然喜欢上了...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:3D游戏开发坐标
举报原因:
原因补充:

(最多只允许输入30个字)