一天干掉一只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 ...
随机推荐
- POJ3468(线段树区间增加,区间求和)
A Simple Problem with Integers Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 81519 ...
- Bash Shell 下打开一个TCP / UDP SOCKET
Bash Shell 下打开一个TCP / UDP SOCKET http://jingyan.baidu.com/article/636f38bb6166c3d6b84610d1.html
- 使用pandas进行数据清洗
本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据清洗 目录: 数据表中的重复值 duplicated() drop_duplicated() 数据表中的空值/缺失值 isnull() ...
- XGBOOST/GBDT,RandomForest/Bagging的比较
原创文章:http://blog.csdn.net/qccc_dm/article/details/63684453 首先XGBOOST,GBDT,RF都是集成算法,RF是Bagging的变体,与Ba ...
- 四维偏序(K-D-Tree+rebuild)
其实只是放个代码,会K-D-Tree的同学看了就知道怎么rebuild了,其实也是很简单粗暴的…… 单独再发一次吧,感觉把代码跟之前的一起发不知道啥时候就找不到了…… #include<bits ...
- shell里面比较大小
#!/bin/bashif [ $1 -gt $2 ]then echo "$1>$2"else echo "$2>$1"fi# 数字判断一些命令 ...
- python算法:嵌套数组转变成一维数组
比如,输入是:[2, 1, [3, [4, 5], 6], 7, [8]] 则,输出是:[2, 1, 3, 4, 5, 6, 7, 8] def list_flatten(l, a=None): a ...
- pipreqs------查找python项目依赖并生成requirements.txt
项目开发的时候,总是要搭建和部署环境,这时,就需要一个python第三方包的list,一般叫做requirements.txt.如果项目使用virtualenv环境,直接使用pip freeze即可, ...
- (24)python 无线破解
import pywifi import time wifi = pywifi.PyWiFi() # iface = wifi.interfaces()[0]#获取第一块网卡 #print(iface ...
- 【ZOJ】3785 What day is that day? ——KMP 暴力打表找规律
转自:http://www.cnblogs.com/kevince/p/3887827.html 首先声明一下,这里的规律指的是循环,即找到最小循环周期. 这么一说大家心里肯定有数了吧,“不就是nex ...