爱冒险的技术宅

这就是我对待梦想的态度.

排序:
默认
按更新时间
按访问量

用C++实现一个Quaternion类

提要四元素是游戏开发中常用的用于处理旋转的数学工具,下面就用C++来实现一个四元素类。参考Unity中四元素的接口。如果没有看之前的 彻底搞懂四元数, 建议先看一下。代码清单Quaternion.h#pragma once #include "Vector3.h" #inclu...

2015-12-24 00:04:15

阅读数:5244

评论数:2

Marching squares & Marching cubes

提要Marching squares 主要是用于从一个地图(用二维数组表示)生成轮廓的算法。Marching cubes则对应的是在空间生成网格的方法。最常见的应用就是天气预报中气压图的生成,还常用于随机地形的生成。Marching squares 先说算法步骤。(1) 输入是一个Scalar g...

2015-07-25 12:57:04

阅读数:5385

评论数:4

两天学会DirectX 3D之第二天

提要前几天很简单地跑了一个DirectX 9 程序,以为DirectX就那么绘制,事实证明有点Naive了。之前的那个程序最多也就是个固定流水线的东西。但是今天要用DirectX11来写一个小的框架。龙书就不要看了,看Introduction to 3D GAME PROGRAMMING WITH...

2015-07-20 00:48:50

阅读数:3308

评论数:0

Stencil buffer

模版缓冲(stencil buffer)或印模缓冲,是在OpenGL三维绘图等计算机图像硬件中常见的除颜色缓冲、像素缓冲、深度缓冲之外另一种数据缓冲。词源模版(stencil)是指一种印刷技术,通常以蜡纸或者钢板印刷文字或图形;区别于模板(template),用木板为外形修剪的依据来复制形状;模版...

2015-06-24 20:40:46

阅读数:3039

评论数:0

基于BRDF的光照模型

知识预备光亮度是物体表面某方向单位投影区域单位立体角的光流量沿着某条光线的光亮度是常数,但光通量随距离增大而衰减(实际是二次衰减,但在计算机图形学中采用线性衰减效果比较好)光强度是单位立体角的辐射能量辐射度是单位面积流出的光通量辐照度是单位面积流入的光通量它们的关系:光强度=光亮度*单位面积*入射...

2015-06-19 09:18:55

阅读数:6336

评论数:2

Shading中的插值技术

在Per Vertex shader中处理着色计算的情况计算出的是每个顶点上shading的结果,通常模型都是由三角面来构成,面上的颜色如何处理,就是今天要探讨的。常用的三种方法是Flat Shading, Gouraud Shading, Phong Shading,对于渲染一个小球,结果对比如...

2015-05-28 23:25:47

阅读数:5887

评论数:4

局部光照模型及其BRDF

提要常见的光照模型一般包括四个部分ambient, diffuse, specular, 和emitted light. 即:vertex color = ambient + diffuse + specular + emitted light当有多个光源的时候,最后的颜色就是多个结果的叠加。Am...

2015-05-28 15:12:08

阅读数:6134

评论数:0

Forward Render VS Deferred Rendering

Forward Render传统的渲染方式,你提供给显卡形状Mesh,它将其打散成一堆节点,接着经过一系列的变换和分割成为Fregment或者像素,在呈现在屏幕之前已经完成了所有的渲染处理。这是相当线性的,每一个形状都会在生成完整图像之前经过流水线的每一个阶段。Deferred Rendering...

2015-04-12 15:14:31

阅读数:6433

评论数:0

OpenGL进阶(十九) - 多光源

从光说起先看一段wiki中对光的定义光是一种人类眼睛可以见的电磁波(可见光谱),视知觉就是对于光的知觉[1]。光只是电磁波谱上的某一段频谱,一般是定义为波长介于400至700纳米(nm)之间的电磁波,也就是波长比紫外线长,比红外线短的电磁波。有些资料来源定义的可见光的波长范围也有不同,较窄的有介于...

2015-01-16 11:22:56

阅读数:3286

评论数:1

基于Qt的图像处理技术和算法

原文链接: http://developer.nokia.com/community/wiki/Image_editing_techniques_and_algorithms_using_Qt

2014-11-19 17:08:44

阅读数:14472

评论数:1

彻底搞懂四元数

提要旋转的表达方式有很多种,有欧拉角,旋转矩阵,轴角,四元素等等,今天要学习的就是游戏开发中最常用的四元素。从欧拉角和轴向角到四元数在讲四元素之前,我们先来看下简单的欧拉角和轴向角。欧拉角使用最简单的x,y,z值来分别表示在x,y,z轴上的旋转角度,其取值为0-360(或者0-2pi),一般使用r...

2014-09-03 16:55:04

阅读数:50044

评论数:5

空间向量类Vector3的C++实现

double getDree( Node a, Node b ) { //求向量a,b之间的夹角 double c, d; c = a.x*b.x + a.y*b.y + a.z*b.z; d = sqrt(a.x*a.x + a.y*a.y + a.z*a.z) * sqrt(...

2014-09-02 15:00:44

阅读数:3929

评论数:0

OpenGL进阶(十八) - 从零搭建基于SDL2的GLSL编辑框架

环境:Ubuntu 12.04 64bit编译assimp 版本3.0.1270Assimp(Open Asset Import Library)是一个支持读取多种模型资源的开源库,当前最新的版本是3.0版,支持读取多种类型的3D模型。下载地址:http://sourceforge.net/pro...

2014-03-16 16:33:18

阅读数:6734

评论数:8

OpenGL进阶(十七) - 深入理解OpenGL

翻译自《 OpenGL Programming Guide》(8th) 第一章,标题为  Introduction to OpenGL。红宝书第八版和第七版的最大的区别就是OpenGL的版本从OpenGL2.X变成了OpenGL4.X,渲染流水线也从固定流水变化为可编程流水线,shader满天飞....

2014-03-03 00:36:57

阅读数:7241

评论数:8

Real-Time Rendering (10) - 图形硬件及学习小结(Graphics Hardware)

提要       时代在变,硬件也在变,但一些基本的架构其实根本未变,就像计算机发展了这么多年,还是逃不了几百年前图灵机所定下的:存储器;控制器;运算器,输入设备和输出设备。图形硬件也有自己的套路。Buffers and Buffering 缓冲区和缓冲Real time rendering 学...

2013-12-26 23:22:21

阅读数:5298

评论数:7

Real-Time Rendering (9) - 碰撞检测(Collision Detection)

提要       碰撞检测(CD)在很多图形应用中都有着极其重要的角色,CAD/CAM,游戏动画,基于物理的建模,基本上所有的虚拟现实模拟都会用到,      我们常说的CD其实指的是Collision handling,可以分为三个部分:Collision detection,Collision...

2013-12-25 21:12:48

阅读数:3702

评论数:1

Real-Time Rendering (8) - 光线求交(Ray intersection)

提要       光线在图形学中可以简单地用向量来表示:r(t) =  o +td, o表示光线的出发点,d表示光线的方向,通常是单位向量,r表示光线在t时刻的位置。       光线求交在图形学中有着非常重要的应用,比如Global Illumination,collision detect,更...

2013-12-21 20:37:29

阅读数:5596

评论数:0

Real-Time Rendering (7) -加速算法(Acceleration Algorithm)

提要         计算机的性能一直是大家关心的,即使在一个相对简单应用中,比如一个打字应用,如果有剩余的性能可以榨取,我们都可以用它来增加新的特性,比如联想拼写,语法检查,抗日锯齿文字显示,语音识别输入等等。       在实时渲染中没我们至少有四个表现上可以去追求的目标:提高帧率,提高渲染的...

2013-12-20 00:35:13

阅读数:4588

评论数:0

Real-Time Rendering (6) - 多边形技术(Polygonl Techniques)

提要 图形学中呈现多边形的总体目的就是可视精度和速度。精确性是依具体情况而言的,对于机械而言,精确指的是模型的渲染在一定的误差范围;对于一个太空模拟游戏,最重要的是整体的感觉,模型的使用就成了关键。对于一个工程师,他希望每个斜角和倒角都显示清楚,对于游戏,只要足够流畅,一些小差错都是...

2013-12-17 17:09:39

阅读数:3089

评论数:3

Real-Time Rendering (5) - 非真实性渲染(Non-Photorealistic Rendering)

提要       真实性渲染追求的是像照片那样的渲染效果,NPR也叫艺术渲染,则有着很多的目的,一种目地就是将模型渲染成技术插图,只有需要的部分才会呈现。一张闪亮的法拉利渲染效果图在向客户销售汽车的时候会很有用,但对于修理汽车引擎的工程师,一副线稿才是更有意义。        另一个NPR的应用领...

2013-12-07 11:33:34

阅读数:6459

评论数:2

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