一天干掉一只Monkey计划(序)【转】
http://www.cnblogs.com/Zephyroal/archive/2011/10/10/2206509.html
一天干掉一只Monkey计划(序)
一天干掉一只Monkey计划(序)
经过n久的焦头烂额,手头的工作终于开始轻松下来,想法很多,但出于兴趣第一,及将来对项目多做贡献的角度,决定目前最大的精力放在Shader效果上,辅之以C++深入的学习。
千里之行始于足下,要专心学习shader还是用RenderMonkey这样的工具,排除其他编程方面的干扰为佳,以前对此工具还略有入门,正好现在拿来开刀:
1,
首先记录下,网上一些关于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计划(序)【转】的更多相关文章
- 一天干掉一只Monkey计划(一)——基本光照模型及RT后处理 【转】
		http://www.cnblogs.com/Zephyroal/archive/2011/10/10/2206530.html 一天干掉一只Monkey计划(一)——基本光照模型及RT后处理 1, ... 
- monkey工具使用(未完待续)
		monkey命令详解: 转自:http://blog.csdn.net/jlminghui/article/details/38238443 http://www.cnblogs.com/wfh198 ... 
- Monkey学习(2)简单命令合集
		Monkey命令的简单帮助 执行所有命令的前提是,必须先链接模拟器或者实体机,否则会报如下错误信息: 打开命令行窗口,WIN+R,输入CMD 在命令行窗口执行:adb shell monkey –he ... 
- 转——Android测试之monkey
		一.为什么要用Monkey 测试? 简单在说就是象猴子一样乱点,为了测试软件的稳定性,健壮性.号称最快速有效的方法.有时候运行相同系列的测试,即使是复杂的测试,但是以相同的顺序和路径,即使一遍又一 ... 
- 为我所用之Monkey
		文章由来:有朋友问到Monkey的使用的问题,就整理一下Monkey的基本使用,以备后用查询. Monkey是一Android中的一个命令行工具,eclipse中有自带此工具,可以运行在模拟器以及真实 ... 
- hdu 4358 Boring counting 离散化+dfs序+莫队算法
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4358 题意:以1为根节点含有N(N <= 1e5)个结点的树,每个节点有一个权值(weight ... 
- BZOJ3786星系探索——非旋转treap(平衡树动态维护dfs序)
		题目描述 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球.主星球没有依赖星球. ... 
- WIN7使用过360系统急救箱后出现的任务计划程序文件夹删除的办法
		直接进主题(怀疑系统有问题用了下360系统急救箱,用完后发现计划任务多了个360superkiller文件夹,右键直接是删除不了的) 尝试了各种方法都是不爽,突然想到计划任务不是在在系统盘下的一个文件 ... 
- [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 ... 
随机推荐
- Python 本地线程
			1. 本地线程,保证即使是多个线程,自己的值也是互相隔离. 2.普通对象演示 import threading import time class A(): pass a=A() def func(n ... 
- appium===报错adb server version (31) doesn’t match this client (39); killing…的解决办法
			当使用在cmd窗口调用adb shell命令的时候 提示如下: adb server version (31) doesn't match this client (39); killing...er ... 
- [ kvm ] 进程的处理器亲和性和vCPU的绑定
			cpu调用进程或线程的方式: Linux内核的进程调度器根据自有的调度策略将系统中的一个进程调度到某个CPU上执行.一个进程在前一个执行时间是在cpuM上运行,而在后一个执行时间则是在cpuN上运行, ... 
- 【 VSFTPD 】ftp 客户端问题
			网络环境: 两个独立的内网环境,前端都有路由和防火墙的管控.要在这两个独立的内网使用ftp通过互联网进行通信. 首先,ftp server 服务端口默认修改为:2100 数据端口修改为:21000 将 ... 
- Android 登录界面调用输入法时让界面自动上移,使输入法不会遮挡到主界面(Activity)
			先贴上效果图: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:andr ... 
- dms程序调试
			Q:程序编译通过后,出现tomcat 端口被占用问题 参考 http://www.cnblogs.com/HoverM/p/3872163.html 先使用netstat -ano|findstr ... 
- [BZOJ1076][SCOI2008]奖励关  状压dp
			1076: [SCOI2008]奖励关 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3070 Solved: 1595[Submit][Statu ... 
- BZOJ 3224: Tyvj 1728 普通平衡树 or 洛谷 P3369 【模板】普通平衡树-Splay树模板题
			3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 22483 Solved: 10130[Submit][S ... 
- Codeforces 810 A.Straight «A»
			A. Straight «A» time limit per test 1 second memory limit per test 256 megabytes input standard in ... 
- CSU 1330  字符识别? 【找规律】
			你的任务是写一个程序进行字符识别.别担心,你只需要识别1, 2, 3,如下: .*. *** *** .*. ..* ..* .*. *** *** .*. *.. ..* .*. ... 
 
			
		



