麒麟子

~~

导航

<2024年7月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

常用链接

留言簿(12)

随笔分类

随笔档案

Friends

WebSites

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜

GPU and Graphic

镜面反射矩阵推导

posted @ 2013-06-15 00:48 麒麟子 阅读(9504) | 评论 (2)  编辑

Deferred Shading

posted @ 2011-03-13 11:56 麒麟子 阅读(1995) | 评论 (0)  编辑

2D Skinned Mesh(3D的完全翻版 带旋转)
     摘要: 由下面几个文章引发的欲望,让我自己也试着实现了一个基于2D的骨骼动画。



一篇讲述骨骼动画数学运算的文章

http://www.cnblogs.com/neoragex2002/archive/2007/09/13/891945.html



两篇讲述骨骼动画原理和实现的文章 一篇也是用的2D,老外的那篇用的是DX 

http://www.cppblog.com/Leaf/archive/2010/12/31/137818.html



空明流转用C#写的一个,当然也可以下载源码。只是在他的BLOG中,他未解释任何东西。并且我也未曾下载任何源码,不知是否源码中有文档

http://www.cppblog.com/lingjingqiu/archive/2008/06/07/52463.aspx



很不爽的是,许多例子或原理讲的时候没有带旋转。 其实那才是重头戏。 空明流转的貌似有旋转,可  阅读全文

posted @ 2011-01-14 00:24 麒麟子 阅读(2276) | 评论 (2)  编辑

Reflect & Refract (以水渲染为例)
     摘要:

我不是Shader帝,虽然知道Shader怎么写,但一直没仔细研究过。最近蛋疼至极,研究了下RenderMonkey,于是抽着几个看着比较有趣的效果做了一下。



先前的模型贴花http://www.cppblog.com/Leaf/archive/2011/01/07/138093.html

和CUBE MAP http://www.cppblog.com/Leaf/archive/2011/01/07/138106.html

就是此次蛋疼期的产物之一。



还是先围观,上图再说
  阅读全文

posted @ 2011-01-08 22:35 麒麟子 阅读(2692) | 评论 (1)  编辑

CubeMap视线反射方向计算详解
     摘要: 其基本原理很多例子上有讲到。下面给出一些比较合适的链接

http://developer.nvidia.com/object/cube_map_ogl_tutorial.html NVIDIA官网上的 Opengl Cube texture mapping
http://www.zwqxin.com/archives/shaderglsl/review-cube-mapping-shader.html 某位兄弟的个人BLOG。
以上两位都适合OPENGL控。
本文给出一个DX HLSL例子。并解释了反射方向计算的数学模型。希望能给大家一定的帮助。

CUBE映射主要分为两步:
一、在VS中根据法线和观察位置计算反射方向,并且得到观察空间中的反射方向。
反射方向有两种计算方法。
1、在世界坐标系空间中计算,然后再将计算到的反射方向转换到观察空间。 这要求我们转入观察位置。
2、在观察空间中进行计算,此时观察位置已经为0,0,0,于是不需要传入观察位置,并且得到的向量即为所求。本文的代码采用此  阅读全文

posted @ 2011-01-07 13:32 麒麟子 阅读(4102) | 评论 (2)  编辑

使用投影纹理进行模型贴花(Mesh Decals)
     摘要: 一、投影纹理进行模型贴花时,主要是进行三角面剔除,使在渲染贴花时,提交最少的三角面。

二、在贴花PASS中,需要将全局混合开启,并设置相应的SRCBLEND(SRC_ALPHA)和DESTBLEND(DEST_ALPHA)值。括号内为我用的值。

当然,如果你不想让贴花与场景(模型)混合,则可以不开启。 

三、请注意纹理的寻址方式以及纹理边缘的ALPHA情况。 若纹理边缘ALPHA不为0,则可以手工进行裁剪。

四、本文仅是采用了固定的投影方向和SHADER内部定义变量的方式来进行贴花渲染。 并且,并未进行模型三角面剔除。所以若要使用,则需要注意第一个问题。

五、本文灵感来源于此贴:http://forums.create.msdn.com/forums/p/34339/198791.aspx

六、支持邮件交流:BoYueGame#Gmail#com
  阅读全文

posted @ 2011-01-07 00:37 麒麟子 阅读(5156) | 评论 (3)  编辑

两篇讲述Skinned Mesh原理的文章

posted @ 2010-12-31 23:04 麒麟子 阅读(3543) | 评论 (3)  编辑

HLSL中的MUL指令深层剖析
     摘要: 本文主要内容有:

一、部分背景内容

二、HLSL中的row-major matrix picking and column-major matrix picking

三、MUL规则

四、观察矩阵的另类解释和TBN空间的类推

五、HLSL中矩阵的构造(为什么WorldToTargentSpaceMatrix要左乘LightDir)



  阅读全文

posted @ 2010-12-28 00:05 麒麟子 阅读(3341) | 评论 (0)  编辑

程序中的四元数表示法
     摘要: 网上有很多四元数相关的文章。

百度百科 http://baike.baidu.com/view/319754.htm

某位的博客 http://caterpillar.onlyfun.net/Gossip/ComputerGraphics/QuaternionsRotate.htm

但当你看完这些后。再看着下面这样的代码,你能快速回过神来么?

  阅读全文

posted @ 2010-12-20 23:22 麒麟子 阅读(763) | 评论 (0)  编辑

Computing Tangent Space Basis Vectors for an Arbitrary Mesh
     摘要: 原文地址:http://www.terathon.com/code/tangent.html

为一个任意网格模型计算其切线空间的基本向量(即切线空间的T B N三个向量)

Modern bump mapping (also known as normal mapping) requires that tangent plane basis vectors be calculated for each vertex in a mesh. This article presents the theory behind the computation of per-vertex tangent spaces for an arbitrary triangle mesh and provides source code that implements the proper mathematics.

现在的bump mapping(或者normal mapping)需要每个顶点的切面的基本向量。这篇文章描述了逐顶点计算任意三角模型的切线空间原  阅读全文

posted @ 2010-12-20 23:17 麒麟子 阅读(1803) | 评论 (0)  编辑

四元数与欧拉角互换
     摘要: 本文乃转载,但原文地址不知。若作者有幸看到,请及时认领。

在3D图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点。本文主要归纳了两种表达方式的转换,计算公式采用3D笛卡尔坐标系:

  阅读全文

posted @ 2010-12-18 22:15 麒麟子 阅读(2206) | 评论 (0)  编辑

HDR效果简介
     摘要: 首先我们先来看看HDR是什么意思。
HDR 是 high dynamic rang(高动态范围) 的简称。
OK,现在我们知道了什么叫高动态范围。
还是过把隐,先看看截图。。  阅读全文

posted @ 2010-05-27 00:53 麒麟子 阅读(4425) | 评论 (0)  编辑

CPU GPU设计工作原理《转》
     摘要: 我知道这很长,但是,我坚持看完了.希望有幸看到这文章并对图形方面有兴趣的朋友,也能坚持看完.一定大有收获.毕竟知道它们到底是怎么"私下勾搭"的.会有利于我们用程序来指挥它们....(这是我加上去的)

原文从这里开始:

要说到设计的复杂程度,那还是CPU了!这个不用讨论,很简单的道理你看看显卡芯片的更新速度和CPU的更新速度就可见一斑了。还是简单说说他们的设计原理吧。
  阅读全文

posted @ 2010-05-18 09:51 麒麟子 阅读(9381) | 评论 (6)  编辑

[原]Irrlicht(鬼火引擎)中多设备的支持
     摘要: 理清一个引擎,不得不先理清它的层次结构,进而理清渲染流程。 本文给出了鬼火引擎中的设备抽象层,有助于对鬼火引擎源码的快速阅读  阅读全文

posted @ 2010-04-26 09:10 麒麟子 阅读(1779) | 评论 (0)  编辑

关于《3D管线导论》这本书
     摘要: 游戏开发中,计算机图形学是必不可少的东西。许多人也是从接触图形开始而进入游戏行业的。3D管线导论这本书诠释了3D管线的细节。为大家解开了萦绕已久的迷团。  阅读全文

posted @ 2010-04-26 00:03 麒麟子 阅读(2218) | 评论 (4)  编辑

切线空间(纹理空间)的计算

posted @ 2010-03-23 00:03 麒麟子 阅读(4597) | 评论 (3)  编辑

SSAO

posted @ 2010-03-22 10:19 麒麟子 阅读(2089) | 评论 (0)  编辑

渲染状态管理

posted @ 2010-01-29 14:40 麒麟子 阅读(1672) | 评论 (0)  编辑

优化3D图形流水线

posted @ 2010-01-29 13:48 麒麟子 阅读(1935) | 评论 (2)  编辑

优化3D图形渲染通道负载

posted @ 2010-01-29 13:43 麒麟子 阅读(1252) | 评论 (0)  编辑

Shader Model 4.0 全新架构

posted @ 2009-10-16 17:47 麒麟子 阅读(2405) | 评论 (2)  编辑

近期在研究Skeletal Animation(骨骼动画)

posted @ 2009-10-10 21:17 麒麟子 阅读(1665) | 评论 (0)  编辑

GPU中的ps 1.x 寄存器

posted @ 2009-09-12 13:36 麒麟子 阅读(2416) | 评论 (5)  编辑

per-pixel lighting 纹理空间坐标基的计算方法

posted @ 2009-04-17 21:45 麒麟子 阅读(524) | 评论 (0)  编辑