- 博客(13)
- 资源 (11)
- 收藏
- 关注
原创 光照模型
物体表面的颜色由 自发光(emissive), 环境反射(ambient), 漫反射(diffuse) 和 镜面反射(specular)等光作用的总和。 介绍并Cg代码实现了这几种光照模型。
2015-11-21 09:38:51 619
原创 3D 图形转换(3D Transformation)
1. 移动 其中(a,b,c) 表示移动的方向向量,比如沿X 移动 -5, 则表示为 图形学中,有以下几种空间概念: object space, world space, view space, projection space, 和 screen space 通常物品显示出来,需要经如下变换 旋转: 如下分别表示沿X,Y,Z 旋转 缩放变换:sx, sy,
2015-11-16 22:25:24 989
原创 粒子系统
1. 基本原理粒子系统由大量的粒子构成,每个粒子有大小,位置以及纹理,另外还有比如颜色,透明度,运动速度,加速度,自旋周期,生命周期等属性粒子系统随时间不短变换,常经过下面几个变换1)产生新的粒子2)更新现有粒子属性3)删除已经消亡的粒子4)绘制出粒子2. 粒子系统设计1) 定义粒子数量,区域,宽度,高度 #define PARTICLE_NUMBER 100
2015-11-16 22:22:00 607
原创 常见智力算法类面试题分析
1. 二进制中1 的个数int NumberOf1(int n){ int count = 0; while (n) { ++ count; n = (n-1) & n; } return count;}2. 出现次数超过一半的数字 利用标记,相邻相同就是加1,不同减1 一个数字,一个次数3. 找
2015-11-15 22:42:07 457
原创 游戏区域系统设计
游戏中地图中需要设置不同的区域,尤其对于大型网络游戏,到达不同的区域通常需要提示本区域名称。本节主要讨论一种游戏区域信息的管理方法:实现步骤 1.首先对区域进行边界的描边,获取区域的顶点描边信息2. 对存储有区域以及区域描边信息的地图,进行信息归纳,形成稀疏矩阵存储, 其中X再加入区域ID信息区域信息: struct SMapAreaInfo { typede
2015-11-15 22:00:05 954
翻译 A*算法
http://www.redblobgames.com/pathfinding/a-star/introduction.html Breadth First search frontier 1. pick and reomove a location from the frontier 2. mark the location as visited so that we know n
2015-11-15 21:33:25 338
原创 BSP 树 和 八叉树
八叉树: The Quadtree derives from the idea of dividing a square area into smaller squares. start with a unity square as the root of the tree, now divide the square into four smaller aquares. eac
2015-11-15 21:28:29 1866
原创 细胞状态机(Cellular Automata)产生地形
以下解释来自 百度百科: 细胞自动机模型的基本思想是:自然界里许多复杂结构和过程,归根到底只是由大量基本组成单元的简单相互作用所引起。因此,利用各种细胞自动机有可能模拟任何复杂事物的演化过程。 分类: 1)最简一维细胞自动机: 黑色为1,白色为0. 那么任意一个方格和周围两个方格就有 111,110,101,100,011,010,001,000 8种状态。 2)编码规则: 当前细胞ci,
2015-11-15 21:26:40 1335
原创 骨骼动画
一,3D模型动画原理和分类 关节动画(Skeletal Animation): 原理: 角色模型是层次模型,要活的某一个部分相对于世界坐标的位置,必须从根节点开始遍历该节点所有的祖先节点累计计算模型的世界变换。模型不是一个整体的Mesh,而是分成很多部分Mesh,通过一个父子层次结构将分散的Mesh组织在一起,父Mesh带动其下 Mesh 运动。动画帧中设置各个子Mesh相对其父Mesh变换
2015-11-13 21:21:03 1260
原创 【Unity Shaders and Effects Cookbook】Diffuse Shading
1. 基础的shader 写法Shader "CookbookShaders/BasicDiffuse" { Properties { _MainTex(“Base(RGB)”,2D) = “white”{} } SubShader { Tags { "RenderType"="Opaque"
2015-11-09 21:24:33 637
原创 【Unity Shaders and Effects Cookbook】Using Textures for Effects
使用纹理可以使得Shaders更快速,也更逼真;使用的同时,需要控制纹理数目,避免过多加载纹理的运行消耗下面逐步说明使用纹理制作流行水面的效果:1.定义 X方向以及Y方向的速度变量(因为UV 是二维的),控制纹理的流动速度Properties{ _MainTint("Diffuse Tint",Color) = (1,1,1,1) _MainTex("Base (R
2015-11-01 11:50:27 462
原创 【Design Patterns】命令模式
//抽象出 orderpublic interface Order{ void execute();}//定义类,封装执行方法public class Stock{private String name= "ABC";privare int quantity = 10;public void buy(){ System.out.println("Stock[Name:" +
2015-11-01 11:19:06 313
introduce to D3D Game Programming code
2015-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人