Phong光照以及其他】的更多相关文章

    在说光照之前,有必要先弄清法线的变换,假设Mworld 将物体的定点一一变换到世界空间,如果我们对法线实施同样的变化,,以为能将法线变换到世界空间,但世界上变换之后的法线不再与表面垂直,就像下图:          这意味着变换并不维持正交的性质,当然,不是所有的矩阵都会出现这种情况,只有当转换操作中包含非均匀缩放操作(XYZ各个方向缩放量不一样)时,这时候就不会再正交,这也意味着大部分的平移操作,旋转操作,均匀缩放操作或者上述组合都是能直接变换得,如何推导这个矩阵,方法有很多,(数学家…
[旧博客转移 - 2016年4月4日 13:13 ] 油腻的师姐: 以前玩过一款很火热的端游<剑灵>,剑灵刚出来的时候,某网页游戏广告视频中有句台词:"我不断的在寻找,有你的世界在哪里",该广告中的人物,音效都模仿了剑灵,而<剑灵>中的人物模型表面看上去油光发亮,所以就被网友改成了:"我不断的洗澡,油腻的师姐在哪里" 像这样(皮肤表面的高光)   这样     还有~ 这样   其实这是使用了镜面反射着色,除了剑灵,其他很多高品质的AAA级游…
这篇文章给大家讲Obj模型里一些基本功能的完善,包含Cg着色语言,矩阵转换,光照,多重纹理,法线贴图的运用. 在上篇中,我们用GLSL实现了基本的phong光照,这里用Cg着色语言来实现另一钟Blinn-phong光照模型,平常我们说语言只是手段,关键是怎么运用,这个用在如一些高级编程语言上,我们或多或少有不同想法,但是在着色语言上,我认为太对了.因语法都是基于C,C++来的,并且去除很多高级特性,可以说语法都是简单到了差不多了,关键在于他内置的一些传递参数的区别上,下来让我们用Cg着色器语言来…
本篇介绍光线投射的第二个个制Pass,光线合成的参数,对应于第一篇总的流程介绍中的Processor SingleVolumeRaycaster.可设置的参数如下: 1,Sampling Rate 采样率 采样率越大,所需要的绘制时间越久,一般来说图像质量也高. 2,Use Interpolation Coarseness:用户交互时,是否绘制一幅二维小图,再映射到窗口大小.我们知道光线投射算法和绘制图像大小紧密相关,绘制一幅三维的小图,再进行二维窗口贴图,速度能够大大地提高. 3, Inter…
本系列教程翻译自Neo Kabuto's Blog.已经取得作者授权. 本文原文地址http://neokabuto.blogspot.com/2013/02/opentk-tutorial-1-opening-windows-and.html OPENTK的文档是真心的少,他们把怎么去安装opentk说的很清楚,但是也就仅限于此,这有一篇learn opentk in 15的教程,但是并不完美.你可以在15分钟内做一些简单的事情,但是却很难理解代码的内部机制.本文使用了一部分该教程的代码,使用…
---------------------------------------------- 概述 - 请阅读QtHelp: Qt 3D Overview https://www.kdab.com/overview-qt3d-2-0-part-1/ http://blog.csdn.net/iron_lzn/article/details/51363959 - 上youtube 搜索 Qt 3D 视频 - 上kdab公司的网站,Qt3D的主要代码都是kdab公司提供的 - 建模示例:https:…
OpenTK的官方文档是真心的少,他们把怎么去安装OpenTK说的很清楚,但是也就仅限于此,这有一篇learn opentk in 15的教程(链接已经失效,译者注),但是并不完美.你可以在15分钟内做一些简单的事情,但是却很难理解代码的内部机制.本文使用了一部分该教程的代码,使用的是过时的方式(非VBO),但是有助于理解OPENTK/OPENGL的绘图机制. Part 1:安装 首先,安装OpenTK. 这是一个非常简单的过程,可以参考官方教程,我这里推荐使用Nuget. 打开自己喜欢的IDE…
固定功能管线着色器Fixed Function Shaders 固定功能管线着色器的关键代码一般都在Pass的材质设置Material{}和纹理设置SetTexture{}部分. Shader "Custom/VertexList" { Properties { _Color(,,,0.5) _SpecColor(,,,) _Emission(,,,) _Shininess()) = 0.7 _MainTex ("Base (RGB)", 2D) = "w…
转载请注明出处:http://blog.csdn.net/tianhai110 点光源光照模型: 公式: I = Icolor*attenuation;                        attenuation表示衰减值 Attenuation = 1-d*d;                                       d为光源到该点的距离 通常我们用一个r来做点光源的衰减范围 及 attenuation = 1 - mul(Light/r, Light/r); 对…
Unity ShaderLib :  CGPROGRAM  ENDCG之间是CG代码,之外的代码功能都由ShaderLib提供,CG中的一些方法比如tex2D(...)也是ShaderLib对CG进行了封装 SurfaceShader全部函数Demo Shader "Nafio/BaseSurf" { Properties { _MainTex("_MainTex",2D) = "white" {} _Color("Color"…