2012年2月29日
摘要: 今天有幸拜读了无情公子的关于无缝地图的相关论述《无缝地图揭秘(游戏创造2006年5月号)》,令我茅塞顿开,现摘抄如下: 什么是无缝贴图? 在很多RPG游戏中,我们从一个地方走到另一个地方经常需要更换地图。与此不同,无缝地图即是指在游戏中,我们无需更换地图就可以从一个地方走到另一个地方,整个场景采用无缝连接。 公子总结的集中方法: 1.永远走不近的距离,搞笑且简单的手法。 在如今流行的《魔兽世界... 阅读全文
posted @ 2012-02-29 16:58 cg_ghost 阅读(956) 评论(0) 推荐(0) 编辑
  2012年2月26日
摘要: 构件活动中的具体任务(task) 验证有关的基础工作已经完成,因此构件活动可以顺利的进行下去。 确定如何测试所写的代码。 设计并编写类(class)和子程序(routine)。 创建并命名变量(variable)和具名常量(named constant)。 选择控制结构(control structure),组织语句块。 对你的代码进行单元测试... 阅读全文
posted @ 2012-02-26 19:50 cg_ghost 阅读(293) 评论(0) 推荐(0) 编辑
  2012年2月25日
摘要: 转自:http://www.cppblog.com/heath/archive/2009/12/13/103127.html 在3D图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点。本文主要归纳了两种表达方式的转换,计算公式采用3D笛卡尔坐标系: 图1 3D Cartesian coordinate System (from wikipe... 阅读全文
posted @ 2012-02-25 22:54 cg_ghost 阅读(27966) 评论(1) 推荐(1) 编辑
  2012年2月17日
摘要: 如果是相机的话直接用Camera的moveRelative()函数 如果是节点的话使用SceneNode._setDerivedPosition( SceneNode._getDerivedOrientation()*Ogre::Vector3(0,0,-1)*15 +SceneNode._getDerivedPosition()) 阅读全文
posted @ 2012-02-17 16:47 cg_ghost 阅读(768) 评论(0) 推荐(0) 编辑
摘要: 写程序过程中遇到一个错误:pixel format with necessary capabilities not found. 找来找去不知道自己犯了那种错误,通过网上查找发现原来是将glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB)粗心写成了glutInitDisplayMode(GL_DOUBLE | GLUT_RGB)。 改过来之后就OK 2012/... 阅读全文
posted @ 2012-02-17 09:36 cg_ghost 阅读(289) 评论(0) 推荐(0) 编辑
  2012年1月15日
摘要: 在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当头一棒啊,可是疼归疼,问题总要解决,下面将讲述一下我的几点经验,看看是不是其中之一: 1. 变量。大家都知道,debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc(注1),而release的赋值近似... 阅读全文
posted @ 2012-01-15 12:18 cg_ghost 阅读(4935) 评论(0) 推荐(1) 编辑
  2012年1月13日
摘要: 1:什么事Tangent space? Tangent Space与World Space,View Space其实是同样的概念,均代表三维坐标系。在这个坐标系中,X轴对应纹理坐标的U方向,沿着该轴纹理坐标U线性增大。Y轴对应纹理坐标的V方向,沿着该轴纹理坐标V线性增大。Z轴则是UXV,垂直于纹理平面。2,为什么需要tangent space? 在normal map等技术中,存储在texture中的值是基于tangent space的法线。因此,当我们sample这些texture中的法线进行光照计算时,必须要统一到同一坐标系下才能正确,这时候就需要切线空间(就像是所有的local spac 阅读全文
posted @ 2012-01-13 16:45 cg_ghost 阅读(1052) 评论(0) 推荐(1) 编辑
  2012年1月6日
摘要: 转自:http://blog.csdn.net/xoyojank/article/details/1628932 概述三维场影里的天空并不是“真正”的天空,而是用图片拼起来的,欺骗我们眼睛。通常把大家所在的场景用一个几何体包裹起来,再在里面贴上从各个角度的风景图,就好像一个真正的环境一样。想想CS之类的天空,是不是有点印象?原理现在的游戏里可能半球用的较多吧?不过原理上一样,我们这里以立方体为... 阅读全文
posted @ 2012-01-06 10:19 cg_ghost 阅读(8088) 评论(0) 推荐(0) 编辑
  2012年1月5日
摘要: 以前自己看过shader,最近因为被客户逼着搞效果,只能自个儿捣鼓shader。好友把我深深鄙视一番。只好自己单独写篇环境贴图的文章,来小总结一下。 环境贴图(Environment Mapping)又叫反射贴图(Reflection Mapping),在曲面上对反射效果进行很好的的近似。示意图如图所示: 所有的EM方法都从一束来自视点的射线出发,到反射体的一个点终止,然后这束光线以这个点处的法线为基准进行反射。环境贴图近似假设进行反射的光源与物体都位于很远的位置,同时反射体不会反射自身。如果这些假设成立,就可以将反射体周围的环境看成围绕他的一个二维投影。 EM的算法步骤如下:(摘自Real. 阅读全文
posted @ 2012-01-05 17:29 cg_ghost 阅读(2699) 评论(0) 推荐(0) 编辑
  2012年1月4日
摘要: ------OGRE Camera简介 “伟大航路,我把世界上的一切都放在了那里,有种的话就去领取吧” 这是OGRE中文网的一则广告,我想,无论作为OGRE的学习者还是漫漫人生的一名旅人,这句话都是非常不错的激励语。放在这,是否能够让你隐约看到属于自己的新世界? 前言 相机的概念,在三维里面是举足轻重的,在一个个三维场景中,看着无数的人物、动画,我想无数的三维开发者在浏览三维时,脑海中都会浮现出... 阅读全文
posted @ 2012-01-04 16:05 cg_ghost 阅读(3042) 评论(2) 推荐(0) 编辑