引言
vForge 内置功能丰富、模块化可驻的着色器源代码编辑器,复制、粘贴、关键词搜索和编译等该有的工具栏按钮都一应俱全。 编辑器着色器源代码为彩色,符合预期,可反映各种命令,有利于使代码更整洁。
代码编辑器显示相应库中选中着色器的顶点和像素着色器源代码。
工具栏
着色器被选中时,代码编辑器会显示 3 个编辑器选项卡:
第一个选项卡显示了可用于库中所有着色器的源代码。 不同着色器可引用该源代码中各不相同的函数入口点。
第二个选项卡显示顶点着色器的通路专用源代码。
第三个选项卡显示像素着色器的通路专用源代码。
编译着色器时,如果专用源代码可用,库的源代码会被忽略。
预定义代码块
预定义文本块图标可打开一个下拉列表,其内容会根据当前活动的编辑器选项卡动态改变。
选项卡 1 - 库源代码
可用菜单选项如下:
Common Shader Macros(通用着色器宏):
Vertex Shader Macros(顶点着色器宏):
Pixel Shader Macros(像素着色器宏):
Example Plain DX10 ConstatntBufferFrame: cbuffer g_GlobalConstantBufferFrame : register (b0) { float4x4 matP : packoffset(c0); // projection matrix float4x4 matEye : packoffset(c4); // eye matrix float4x4 matInvEye : packoffset(c8); // inverse eye matrix float4 contextCP : packoffset(c12); // context clip planes: near, far, 1/(far-near) float4 contextPPright : packoffset(c13); // context projection plane right float4 contextPPup : packoffset(c14); // context projection plane up float4 contextPPdir : packoffset(c15); // context projection plane direction float4 timer : packoffset(c16); // Time: timer, time difference float4 eyePos : packoffset(c17); // eye position float4 eyeDir : packoffset(c18); // eye direction float4 depthFog : packoffset(c19); // linear depth fog parameter: near, far, 1/(far-near) float4 depthFogCol : packoffset(c20); // linear depth fog color float4 gAmbientCol : packoffset(c21); // global ambient color float4 lightmapMul : packoffset(c22); // lightmap multiplier (skalar) } 选项卡 2 - 顶点着色器
Example Color: #include <Shaders/VisionCommon.inc> // #include <Shaders/VisionCommon.inc> #ifdef _VISION_DX10 cbuffer g_GlobalConstantBufferObject : register (b1) { float4x4 matMVP : packoffset(c4); // model view projection matrix } #else float4x4 matMVP : register(c8); #endif struct VS_IN { float3 ObjPos : POSITION; float4 Color : COLOR; }; struct VS_OUT { float4 ProjPos : SV_Position; float4 Color : COLOR; }; VS_OUT vs_main( VS_IN In ) { VS_OUT Out; Out.ProjPos = mul( matMVP, float4(In.ObjPos, 1.0f) ); Out.Color = In.Color; return Out; } 选项卡 3 - 像素着色器
Example Simple: #include <Shaders/VisionCommon.inc> #ifdef _VISION_DX10 Texture2D <float4> BaseTexture : register(t0); sampler BaseTextureSampler : register(s0); #else sampler2D BaseTexture : register(s0); #endif struct PS_IN { float4 ProjPos : SV_Position; float2 UV0 : TEXCOORD0; }; float4 ps_main( PS_IN In ) : SV_Target { float4 diffuse = vTex2D(BaseTexture, BaseTextureSampler, In.UV0); return diffuse; } 测试编译和日志
您可以随时按下测试编译图标来检查代码的有效性。 编译完成后将显示日志,任何问题和错误都会在其中列出。 鼠标左键单击任意日志条目可展开该项内容,显示报告的更多详情。
提示:着色器日志可固定在编辑器面板中,或收起为代码窗口底部的图标。
预定义符号
为了简化着色器的编写过程,您可以按 CTRL + 空格键查看预定义符号列表,例如数据类型和函数。 然后,您可以选择一个符号,该符号将被插入到代码中。 例如,在文档中添加”float4”的结果如下:
|
相关推荐
Image Processing Analysis and Machine Vision第三版的源代码part 4
Image Processing Analysis and Machine Vision第三版的源代码part 2
Image Processing Analysis and Machine Vision第三版的源代码part 1
Image Processing Analysis and Machine Vision第三版的源代码part 3
用HTML+CSS布局来对TG-vision 双晖传媒的主页进行一个初步的搭建。对TG-Vision 双晖传媒主页进行临摹,这是本人所写的源代码内容。希望对大家有所帮助。
包含设计文件与源代码 这个工程直接可以联调或者运行,请放心下载
Code to accompany Computer Vision with OpenCV 3 and Qt5: Build visually appealing, multithreaded, cross-platform computer vision applications
OpenCV 2 Computer Vision Application Programming Cookbook一书配套的源代码
此案例为Google Cloud Vision API OCR 使用案例 Python 源代码,通过此案例,我们将: - 了解如何从 Google 云管理面板获取我们的 Google Cloud Vision API 密钥/JSON 配置文件 - 配置我们的开发环境以使用 Google ...
在该书中,作者用很通俗易懂的方式阐述了如何在实际的计算机视觉工程项目中使用OpenCV(C++版本)。
Vision Transformer实现代码和预训练模型,主要包含以下网络: (1)jx_vit_base_patch16_224_in21k (2)jx_vit_base_patch32_224_in21k
基于C#开发的机器视觉软件系统,结合halcon视觉库,软件系统的功能采用流程式,所有功能的处理过程均可视化,提供了所有的源代码,供学习使用。
Mastering OpenCV with Practical Computer Vision Projects_full中的代码 代码很有用并且附带英文注释,挺不错的,推荐大家下载。代码附带有实验素材 语言是cpp。英文的
3.创建应用描述了如何创建工程,编辑源文件,编译及找出语法错误,生成可执行文件代码。 4.µVision3 工具 给出了有关内置工具如文件中实现快速查找,及外部第三方工具如SVCS或Flash编程工具的信息。 5.测试程序 ...
对于相对NI公司的labview软件入门或者更深层次学习的人才都有用,
OpenCV 2 computer Vision Application Programming Cookbook 全书所有代码。 此资源是2011年5月最新的书和书上的所有代码,运行环境有QT linux,也介绍了其他 Visual C++,MS 等上的用法
NI Vision Assistant中文入门教程(带书签)
FLIGHT DATA VISION介绍
NI Vision Assistant中文入门教程,是学习NI Vision Assistant的好帮手
非参量背景减除的C++源代码,对研究计算机视觉的童鞋很有帮助。