用点光源的光照,概念基本上和平行光源一样。根据获取光向量和顶点的法线及视点向量的内积来添加阴影。和平行光源的不同之处,简单的说就是光向量是否是一个固定值。点光源使用的是模型坐标变换后的顶点的位置和光源的位置,这时再计算光向量,所以增加了若干的计算量。
平行光源的光的方向是一定的,整体都受到均等的光照。但是点光源根据实际顶点的坐标要进行具体的光的碰撞。这次的demo和上次一样在片段着色器中进行光的计算和补色着色,所以可以进行很漂亮的渲染。
这次的文章中只需要明白是进行了光照相关的基础部分的封装,WebGL中的...
分类:
Web程序 时间:
2014-10-13 02:29:19
阅读次数:
239
CG=C for Graphics 用于计算机图形编程的C语言超集前提知识点:1.CG代码必须用CGPROGRAM。。。ENDCG括起来2.顶点着色器与片段着色器的主函数名称可任意,但须要再#pragma vert 与#pragma fragment中声明而且与主函数名全然匹配,shader才会找到...
分类:
编程语言 时间:
2014-10-12 15:44:58
阅读次数:
237
网的重要作用可以导入3DMAX等创建的模型,到游戏中;着色器可以实现特定绚丽的效果。它们的实现如下
1. 网 Mesh的实现:
#pragma once
//========================================================================
// File: Mesh.h - classes to render meshes in ...
分类:
其他好文 时间:
2014-10-11 00:01:04
阅读次数:
709
本章介绍着色器的基本知识以及Geiv下对其提供的支持接口,并以“渐变高斯模糊”为线索进行实例的演示讲解。
[背景信息]
[计算机中央处理器的局限性]
在大学的“数字图像处理”课程中,老师讲解了高斯模糊的基本算法,并使用C#进行了基本实现。
高斯模糊,简单地说,就是使用高斯权重模板对图像的每一个像素进行再计算、填充,以达到模糊的效果。
在课程中,对于给定的模板与模糊度系数,对一副800X6...
分类:
其他好文 时间:
2014-10-09 15:13:38
阅读次数:
364
为了加快学习速度,和使程序更加容易理解。 我把sampler tutorial里面的一个例子 的固定代码和经常改动的代码经过简单的类的封装了一下。
以后学习的时候就可以只在另一个文件写render渲染代码和fx着色器代码了
D3DBase.h 基本框架代码
#include
#include
#include
#include
#include
#include "resour...
分类:
其他好文 时间:
2014-10-02 00:10:41
阅读次数:
280
前文完成了最基本的镜面反射着色器,单平行光源下的逐顶点着色(per-vertex lighting),又称为古罗着色(Gouraud shading)。这篇文章作为后续讨论更光滑的镜面反射方式,逐像素着色(per-pixcel lighting),又称为冯氏着色(Phong shading)
逐像素着色Per-Pixel Lighting (冯氏着色Phong Shading)
别把冯氏着色与冯氏反射模型搞混淆了,前问提到了冯氏反射模型,冯氏反射模型是为使计算机模拟接近真实的物体表面光泽提出的模型,即环境...
分类:
其他好文 时间:
2014-09-24 19:07:57
阅读次数:
234
雾 : 说白了就是一层有颜色的(一般是白色,灰色) 蒙蒙的感觉 混在光线里面。 不管是白天还是黑天。
龙书里面是这样实现的:
1. 给雾定义一个颜色 float3 gFogColor={0.7f,0.7f,0.7f};
2. 然后呢在顶点着色器里面计算出 顶点级别的雾化需要的颜色加成比例
加成比例: 意思是当距离摄像机,就是你的眼睛越远,雾的浓度越大,就是颜色越深。 根据这个得出一个(0...
分类:
其他好文 时间:
2014-09-21 19:14:01
阅读次数:
378
HLSL初级教程
作者:trcj
目录
前言
1.HLSL入门
1.1什么是着色器
1.2什么是HLSL
1.3怎么写HLSL着色器
1.4怎么用HLSL着色器
2.顶点着色器
2.1可编程数据流模型
2.2顶点声明
2.3用顶点着色器实现渐变动画
3.像素着色器
...
分类:
其他好文 时间:
2014-09-14 19:23:18
阅读次数:
389
认识着色器opengl es的着色器有.fsh和.vsh两个文件。这两个文件在被编译和链接后就可以产生可执行程序与GPU交互。.vsh 是顶点shader,用与顶点计算,可以理解控制顶点的位置,在这个文件中我们通常会传入当前顶点的位置,和纹理的坐标。例如: 1 attribute vec4 posi...
分类:
其他好文 时间:
2014-09-01 19:11:13
阅读次数:
369
使用像素着色器实现一个简单的自定义 Direct2D 特效...
分类:
其他好文 时间:
2014-09-01 09:22:33
阅读次数:
775