http://www.cnblogs.com/Zephyroal/archive/2011/10/10/2206509.html

一天干掉一只Monkey计划(序)

一天干掉一只Monkey计划(序)

经过n久的焦头烂额,手头的工作终于开始轻松下来,想法很多,但出于兴趣第一,及将来对项目多做贡献的角度,决定目前最大的精力放在Shader效果上,辅之以C++深入的学习。

千里之行始于足下,要专心学习shader还是用RenderMonkey这样的工具,排除其他编程方面的干扰为佳,以前对此工具还略有入门,正好现在拿来开刀:

1,

首先记录下,网上一些关于renderMonkey的教程:

一步一步学RenderMonkey

http://blog.csdn.net/tianhai110/article/details/5668832

《RenderMonkey的基本使用方法》

http://www.cnblogs.com/mixiyou/archive/2009/10/05/1578208.html

《用RenderMonkey 进行shader开发(一)》

http://school.ogdev.net/ArticleShow.asp?id=5551&categoryid=5

《用RenderMonkey 进行shader开发(二)》

http://school.ogdev.net/ArticleShow.asp?id=5552&categoryid=5

renderMonkey官方网址(提供renderMonkey下载)

http://developer.amd.com/gpu/rendermonkey/Pages/default.aspx

RenderMonkey制作photoshop特效

http://www.qqread.com/soft-engineering/q372752_2.html

2,

还有鉴于RenderMonkey由于长时间的不更新,附上其藏在amd角落的位置:

http://developer.amd.com/archive/gpu/rendermonkey/pages/default.aspx

3,

万籁具备,只欠东风,现在最需要的就是订立一个详细的计划,目标是首先走一遍基本的光照模型,然后一天收集一个符合cool标准的shader效果,从原理到实际实现加以吸收,争取一天干掉一只猴子,为期一月,再行引擎改造大业。

4,Basic

这里就偷个懒,直接套用逍遥剑客的blog:

http://blog.csdn.net/xoyojank/article/details/1788982

RenderMokey是ATi发布的一个快速开发着色器程序和效果的工具.它解决了几个问题:

1. 着色器程序通常需要一个框架才能运行.这样的一个工具必须可以设置几何和纹理等信息而不用额外的代码

2. 传统的着色器程序开发时间消耗太大,而且需要高质量的代码做为依托.这就增加了开发难度,并限制了技术的共享

3. 着色器开发工具应该在程序员和美工之间建立一个桥梁,所以它不应该依赖任何API,也不应该需要太高的编程能力

4. 工具的框架应该要能够适应未来技术的发展

基于这些目标,ATi推出一个强大而且高效的开发工具:RenderMonkey,它大大降低了着色器程序开发的门槛,你只需要基本的图形学知识就可以使用它.

主界面

Workspace窗口

这里面包含很多不同类型的元素,可以分成4组:

1. 组元素,用来把元素组织成一个层次结构,如effect,pass等

2. 着色器或效果用到的参数,包括矩阵,向量,颜色等.它们可以用Artist编辑器来设定,我们会在后面提到

3. 着色器或效果的状态控制,包括着色器程序,硬件渲染状态,或顶点流映射

4. 着色器用到的资源,通常是网格和纹理

这些东西被保存到一个.RFX文件中,里面是XML格式的.这样可以用程序来方便地读取

效果预览窗口

从这里你可以看到着色器程序的最终效果.当然,你可以用鼠标来控制摄像机观察方式

输出窗口

如果在这里出现了错误信息,你可以像在VC中一样双击它,RenderMonkey会自动打开编辑器窗口,并把光标定位到相应的位置

编辑器窗口

它可以用来编辑ASM代码或HLSL,而且在编辑的同时状态栏还会给出相应的代码提示

Artist编辑器

这个窗口默认不显示,可以通过View->Artist Editor来调出来

在这里你可以设置各个参数元素,而且可以即时显示结果

下面看一下整个工程的组织形式

1. 库存变量,这里是View-Projection矩阵

2. 流映射,即这里的PNTT,应该是定义的VertexShader的顶点输入格式,双击可以打开编辑框

3. 效果组,它代表一个独立的Shader程序,你可以在一个工作空间中建立多个Shader

变量列表

纹理

模型

Pass

模型引用

渲染状态

VertexShader

PixelShader

纹理信息(我想可能是Sampler吧?)

最新文章

  1. r-cnn学习(八):minibatch
  2. Win8.1安装Visual Studio 2015提示需要KB2919355
  3. java环境基础步骤 maven
  4. 通过反射得到object[]数组的类型并且的到此类型所有的字段及字段的值
  5. [整理]Web应用安全学习
  6. ural 1303 Minimal Coverage(贪心)
  7. 学习php 韩顺平 数据类型 三元运算,字符串运算类型运算
  8. jquery之营销系统(会员促销)
  9. [Linked List]Convert Sorted List to Binary Search Tree
  10. 微软云基础架构Hyper-scale Datacenter
  11. asp.net 一个简单的登录控制
  12. Android入门第十六篇之Style与Theme [转]
  13. Storm官方帮助手册翻译(上)
  14. java split函数应该注意的问题
  15. 完全关闭Hyper-v的方法
  16. Mybatis插入记录并返回MySQL自增主键
  17. 一个redis因为关闭快照无法连接的BUG
  18. Game Engine Architecture 8
  19. spark java.lang.OutOfMemoryError: unable to create new native thread
  20. Spring Boot中Starter是什么

热门文章

  1. mongoDB支持的数据类型
  2. UVALIVE 4330 Timer
  3. ARM-Linux (临时,正式) 建立页表的比较【转】
  4. Linux C程序异常退出怎么办——core文件帮你忙
  5. 【 Linux 网络虚拟化 】Openvswitch
  6. 存储过程 ----- navicat 创建存储过程
  7. HTML布局相关的CSS样式属性
  8. 【SQL】数据库更新
  9. Selenium2+python自动化56-unittest之断言(assert)【转载】
  10. docker从零开始(五)堆栈初体验,stacks