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吧?)

一天干掉一只Monkey计划(序)【转】的更多相关文章

  1. 一天干掉一只Monkey计划(一)——基本光照模型及RT后处理 【转】

    http://www.cnblogs.com/Zephyroal/archive/2011/10/10/2206530.html 一天干掉一只Monkey计划(一)——基本光照模型及RT后处理 1, ...

  2. monkey工具使用(未完待续)

    monkey命令详解: 转自:http://blog.csdn.net/jlminghui/article/details/38238443 http://www.cnblogs.com/wfh198 ...

  3. Monkey学习(2)简单命令合集

    Monkey命令的简单帮助 执行所有命令的前提是,必须先链接模拟器或者实体机,否则会报如下错误信息: 打开命令行窗口,WIN+R,输入CMD 在命令行窗口执行:adb shell monkey –he ...

  4. 转——Android测试之monkey

    一.为什么要用Monkey 测试?   简单在说就是象猴子一样乱点,为了测试软件的稳定性,健壮性.号称最快速有效的方法.有时候运行相同系列的测试,即使是复杂的测试,但是以相同的顺序和路径,即使一遍又一 ...

  5. 为我所用之Monkey

    文章由来:有朋友问到Monkey的使用的问题,就整理一下Monkey的基本使用,以备后用查询. Monkey是一Android中的一个命令行工具,eclipse中有自带此工具,可以运行在模拟器以及真实 ...

  6. hdu 4358 Boring counting 离散化+dfs序+莫队算法

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4358 题意:以1为根节点含有N(N <= 1e5)个结点的树,每个节点有一个权值(weight ...

  7. BZOJ3786星系探索——非旋转treap(平衡树动态维护dfs序)

    题目描述 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球.主星球没有依赖星球. ...

  8. WIN7使用过360系统急救箱后出现的任务计划程序文件夹删除的办法

    直接进主题(怀疑系统有问题用了下360系统急救箱,用完后发现计划任务多了个360superkiller文件夹,右键直接是删除不了的) 尝试了各种方法都是不爽,突然想到计划任务不是在在系统盘下的一个文件 ...

  9. [LeetCode] 1028. Recover a Tree From Preorder Traversal 从先序遍历还原二叉树

    We run a preorder depth first search on the rootof a binary tree. At each node in this traversal, we ...

随机推荐

  1. 在SDK中使用Ubuntu仿真器

    Ubuntu仿真器是开发过程中非常有用,尤其是在没有任何Ubuntu设备时.在将仿真器附加到SDK后,你便可以在上面运行程序,安装点击数据包,等等,类似在物理设备上的操作一样. 在这里,您可以了解如何 ...

  2. Swift : missing argument label 'xxx' in call

    http://stackoverflow.com/questions/24050844/swift-missing-argument-label-xxx-in-call up vote37down v ...

  3. IPC网络高清摄像机基础知识4(Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别) 【转】

    转自:http://blog.csdn.net/times_poem/article/details/51682785 [-] 一 概念介绍 二 两个疑问 三 RAW和JPEG的区别 1 概念说明 3 ...

  4. android usb adb流程[转]

    android adb 概述 android adb的代码分为两部分: kernel层的代码在如下路径: drivers/usb/gadget/f_adb.c drivers/usb/gadget/a ...

  5. scrapy模拟知乎登录(无验证码机制)

    ---恢复内容开始--- spiders 文件夹下新建zhihu.py文件(从dos窗口中进入虚拟环境,再进入工程目录之后输入命令 scrapy genspider zhihu www.zhihu.c ...

  6. P2654 原核生物培养

    P2654 原核生物培养 题目描述 W教授最近正在研究一种原核生物,这种生物的生长方式很奇特,只能通过吃掉同类而生长.两个该种生物相遇,较大质量的会把较小的吃掉(相同的话就看RP了),吃掉后较大的生物 ...

  7. Selenium2+python自动化32- 测试报告的易读性【转载】

    前言 前一篇已经介绍了报告的生成方法,本篇小编优化一下测试报告,使测试报告便于大多数阅读.虽然在我们在测试用例开发时为每个用例添加了注释,但测试报告一般是给非测试人员阅读的,如果能在报告中为每一个测试 ...

  8. Selenium2+python自动化28-table定位【转载】

    前言 在web页面中经常会遇到table表格,特别是后台操作页面比较常见.本篇详细讲解table表格如何定位. 一.认识table 1.首先看下table长什么样,如下图,这种网状表格的都是table ...

  9. 使用vscode开发调试.net core应用程序并部署到Linux跨平台

    使用VS Code开发 调试.NET Core RC2应用程序,由于.NET Core 目前还处于预览版. 本文使用微软提供的示例进行开发及调试. https://github.com/aspnet/ ...

  10. AppScan8.7的两个细节亮点

    1.增加了对红极一时的Struts2的远程代码执行漏洞的检测 2.增加了对篡改价格这类应用逻辑缺陷的检测