(原) MaterialEditor部- UmateriaEditor中 Node编译过程和使用(2)
@白袍小道
转载说明原处
插件同步在GITHUB: DaoZhang_XDZ
需求:
1、梳理FexpressionInput和Output的编译和链接(套路和逻辑目的)
2、如何做到节点编译的驱动
3、增加自定义节点(非CustomNode)
说明:
提交编辑:
一、UMaterial::PostEditChangeProperty
二、FMaterialCompile 、FHLSLMaterialTranslator、material(materialInterface\Resouces)
首先是一个熟悉的入口
FMaterial::BeginCompileShaderMap
|
bool FMaterial::BeginCompileShaderMap( const FMaterialShaderMapId& ShaderMapId, EShaderPlatform Platform, TRefCountPtr<FMaterialShaderMap>& OutShaderMap, bool bApplyCompletedShaderMapForRendering) |

FHLSLMaterialTranslator
最后的输入收集

CompileProperty
这里才是更具Property进入属性编译部分
|
Ret = MaterialInterface->CompileProperty(Compiler, MP_EmissiveColor); |
UMaterialInterface::CompileProperty

按照不同的输入属性表达式,进入CompileWith

FExpressionInput::Compile
这里就到了真正节点逻辑
说明总结图

节点的编译:(树形组合)
这种方式类似于 整个大的编译,从结果反向到输入,层层递归。(每个节点都会加入自身的编译逻辑,并链接上下节点)
案例:
(未完待续, 先去做点东东)
一、MaterialExpressionAbs
二、MaterialExpressionTextureSample
三、MaterialExpressionFunction
(原) MaterialEditor部- UmateriaEditor中 Node编译过程和使用(2)的更多相关文章
- (原) MaterialEditor部- UmateriaEditor中 Node编译过程和使用(3)修正
@author: 白袍小道 转载说明原处,爱护劳动 插件同步在GITHUB: DaoZhang_XDZ 说明 1.本篇是接着-----(原) MaterialEditor部- Umat ...
- (原) MaterialEditor部- UmateriaEditor中 Node编译过程和使用(3)
@author: 白袍小道 转载说明原处 插件同步在GITHUB: DaoZhang_XDZ 说明 1.本篇是接着-----(原) MaterialEditor部- UmateriaE ...
- (原) MaterialEditor部- UmateriaEditor中 Node编译过程和使用(1)
@author: 白袍小道 转载说明原处 插件同步在GITHUB: DaoZhang_XDZ 最后YY需求(手滑) 1.在理清楚基础套路和细节后,自定义纹理资源,并加入到现有UE材质系统 2. ...
- (原) MatEditor部- UmateriaEditor中Texture使用过程(1)
@author: 白袍小道 转载说明原处 插件同步在GITHUB: DaoZhang_XDZ 最后YY需求(手滑)(开黑前弄下,充数,见谅) 1.在理清楚基础套路和细节后,自定义纹理资源,并加 ...
- 【Android】源码external/目录中在编译过程中生成的文件列表
=> external/eyes-free: accessibilityvalidator.jar (host,share) => external/mesa3d: libMesa ...
- 第48章 MDK的编译过程及文件类型全解—零死角玩转STM32-F429系列
第48章 MDK的编译过程及文件类型全解 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.co ...
- 第48章 MDK的编译过程及文件类型全解
Frm: http://www.cnblogs.com/firege/p/5806134.html 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教 ...
- MDK 的编译过程及文件类型全解
MDK 的编译过程及文件类型全解 ------(在arm9的开发中,这些东西都是我们自己搞定的,但是在windows上,IDE帮我们做好了,了解这些对深入开发是很有帮助的,在有arm9开发的基础上,下 ...
- [译]C++, Java和C#的编译过程解析
1.1.1 摘要 我们知道计算机不能直接理解高级语言,它只能理解机器语言,所以我们必须要把高级语言翻译成机器语言,这样计算机才能执行高级语言编写的程序,在接下来的博文中,我们将介绍非托管和托管语音的编 ...
随机推荐
- Dynamic Ambient Occlusion and Indirect Lighting
This sample was presented on the Nvida witesite, which detail a new idea to calculate the ambient oc ...
- hdu_4465_Candy
LazyChild is a lazy child who likes candy very much. Despite being very young, he has two large cand ...
- wso2 ei 6.4.0安装笔记
目的:将最新版(6.4.0)部署在linux服务器,与Api Manager部署在同一环境 环境: Centos 7.3 Jdk 8 Mysql 5.7 问题一: 将H2替换为Mysql5.7数据库时 ...
- Android中,子线程使用主线程中的组件出现问题的解决方法
Android中,主线程中的组件,不能被子线程调用,否则就会出现异常. 这里所使用的方法就是利用Handler类中的Callback(),接受线程中的Message类发来的消息,然后把所要在线程中执行 ...
- composer切换中国镜像
替换 composer.lock 文件中的 https://files.phpcomposer.com/files/ 为 https://dl.laravel-china.org 命令行 compos ...
- FMX有一套自己的消息处理机制。类似这样:
unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Var ...
- Python的scrapy之爬取链家网房价信息并保存到本地
因为有在北京租房的打算,于是上网浏览了一下链家网站的房价,想将他们爬取下来,并保存到本地. 先看链家网的源码..房价信息 都保存在 ul 下的li 里面 爬虫结构: 其中封装了一个数据库处理模 ...
- Go Web Gin EasyUI 框架
项目结构 第三方: 1.gin微服务框架 2.EasyUI框架
- React Router 4.0 实现路由守卫
在使用 Vue 或者 Angular 的时候,框架提供了路由守卫功能,用来在进入某个路有前进行一些校验工作,如果校验失败,就跳转到 404 或者登陆页面,比如 Vue 中的 beforeEnter 函 ...
- MySQL入门第二天——记录操作与连接查询
常见SQL语法,请参见w3school:http://www.w3school.com.cn/sql/sql_distinct.asp 易百教程:http://www.yiibai.com/sql/f ...