转自冯乐乐的《Unity Shader入门精要》 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象。 首先,光线从光源中被发射出来。 然后,光线和场景中的一些物体相交:一些光线被物体吸收了,而另一些光线被散射到其他方向。 最后,摄像机吸收了一些光,产生了一张图像 ...
摘录自 冯乐乐的 Unity Shader入门精要 笛卡尔坐标系 二维笛卡尔坐标系 在游戏制作中,我们使用的数学绝大部分都是计算位置 距离 角度等变量。而这些计算大部分都是在笛卡尔坐标系下进行的。 一个二维的笛卡尔坐标系包含了两个部分的信息: 一个特殊的位置,即原点,它是整个坐标系的中心。 两条过原点的互相垂直的矢量,即X轴和Y轴。这些坐标轴也被称为是该坐标的矢量。 OpenGL 和 Direct ...
2017-10-01 08:51 0 1717 推荐指数:
转自冯乐乐的《Unity Shader入门精要》 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象。 首先,光线从光源中被发射出来。 然后,光线和场景中的一些物体相交:一些光线被物体吸收了,而另一些光线被散射到其他方向。 最后,摄像机吸收了一些光,产生了一张图像 ...
转自 冯乐乐的《Unity Shader 入门精要》 2010年的Unity 3 中,Surface Shader 出现了。 表面着色器的一个例子。 我们先做如下准备工作。 1)新建一个场景,去掉天空盒子 2)新建一个材质,新建一个Shader,赋给材质。 3)场景中创建一个胶囊体 ...
线纹理的代码非常简单,但是我们有必要在这之前首先了解它们背后的实现原理。 深度纹理实际上就是一张渲染纹理,只不过它里面存储的像素值不是颜色值而是一个高精度的深度值。由于被存储在一张纹理中,深度纹理里 ...
在三维数学中,我们通常会使用矩阵来进行变换。一个矩阵可以把一个矢量从一个坐标空间转换到另一个坐标空间。本篇文章就对矩阵相关的数学知识做了记录总结。 数学基础之坐标系,点和矢量的相关内容可以看这篇文章 矢量和矩阵 我们可以用矩阵来表示矢量。实际上,矢量可以看成是n×1的列矩阵或1×n的行矩阵 ...
前言 在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道。 Unity中通常使用两种方法来实现透明 :(1)透明度测试(AlphaTest)(2)透明度混合(AlphaBlend)。前者往往无法实现真正的半透明效果。 深度缓冲(Depth Buffer ...
数学对于计算机图形学的重要性是不言而喻的。在学习Shader之前,首先就要打好数学基础,好在入门Unity Shader所需的数学知识都是线性代数中很基础的的内容。按部就班的来,第一篇文章记录总结的是坐标系,点,矢量等概念以及简单的运算。本文主要源自《Unity Shader入门精要》一书 ...
重要的事 先说重要的事,就是我的书籍《Unity Shader入门精要》在经过无数次跳票后,终于出版上市了(泪目…)! 购买传送门: 亚马逊 当当 京东 截止到我写这篇文章的时候,京东是没有货的状态……不过之后应该会陆续到货 ...
Unity Shader的组织形式 Unity Shader的形态 Unity官方手册上讲Unity Shader有三种不同的编写方案,这三种编写方案分别是surface shaders、vertex and fragment shaders和fixed function ...