WPF 像素着色器入门:使用 Shazzam Shader Editor 编写 HLSL 像素着色器代码_wpf添加shader-程序员宅基地

技术标签: csharp  dotnet  DirectX  Shazzam  像素着色器  HLSL  

HLSL,High Level Shader Language,高级着色器语言,是 Direct3D 着色器模型所必须的语言。WPF 支持 Direct3D 9,也支持使用 HLSL 来编写着色器。你可以使用任何一款编辑器来编写 HLSL,但 Shazzam Shader Editor 则是专门为 WPF 实现像素着色器而设计的一款编辑器,使用它来编写像素着色器,可以省去像素着色器接入到 WPF 所需的各种手工操作。

本文是 WPF 编写 HLSL 的入门文章,带大家使用 Shazzam Shader Editor 来编写最简单的像素着色器代码。


下载安装

实际上 Shazzam Shader Editor 有一段时间没有维护了,不过在 WPF 下依然是一个不错的编写 HLSL 的工具。

下载完成之后安装到你的电脑上即可。

Shazzam 是开源的,但是官方开源在 CodePlex 上,https://archive.codeplex.com/?p=shazzam,而 CodePlex 已经关闭。JohanLarsson 将其 Fork 到了 GitHub 上,https://github.com/JohanLarsson/Shazzam,不过几乎只有代码查看功能而不提供维护。

Shazzam Shader Editor

主界面

Shazzam 的主界面

打开 Shazzam,左侧会默认选中 Sample Shaders 即着色器示例,对于不了解像素着色器能够做到什么效果的小伙伴来说,仅浏览这里面的特效就能够学到很多好玩的东西。

旁边是 Tutorial 教程,这里的教程是配合 HLSL and Pixel Shaders for XAML Developers 这本书来食用的,所以如果希望能够系统地学习 HLSL,那么读一读这本书跟着学习里面的代码吧!

左边的另一个标签是 Your Folder,可以放平时学习 HLSL 时的各种代码,也可以是你的项目代码,这里会过滤出 .fx 文件用于编写 HLSL 代码。

如果你打开关于界面,你可以看到这款软件很用心地在关于窗口背后使用了 TelescopicBlur 特效,这是一个 PS_3 特效,后面会解释其含义。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/WPwalter/article/details/90575912

智能推荐

睿考网:注册税务师跟税务师一样吗?-程序员宅基地

文章浏览阅读301次,点赞8次,收藏5次。税务师考试共考五门,分别是《税法一》、《税法二》、《涉税服务实务》、《涉税服务相关法律》和《财务与会计》。考生可以根据自己的情况进行搭配考试科目,成绩有效期为五年,在五年内通过所有考试即可。有基础的考生可以选择《财务与会计》、《涉税服务相关法律》或《涉税服务实务》,这三科相对《税法一》、《税法二》难度更大,考验计算能力和记忆能力,对基础要求更高一些;零基础考生可以选择《税法一》、《税法二》搭配其他任意一科备考学习,《税法一》、《税法二》属于基础核心课程,可以一起准备;

pom文件报错:(execution:default-testCompile, phase: test-compile)" is not available-程序员宅基地

文章浏览阅读3.8k次。启动eclipse时,pom.xml报错:Multiple annotations found at this line: - Project configurator "com.springsource.sts.ide.maven.core.springProjectConfigurator" required by plugin execution "org.apache.mave...

SpringMVC快速上手教程及SSM整合案例_学ssm上手-程序员宅基地

文章浏览阅读1.1w次。文章目录一、什么是MVC二、什么是SpringMVC三、SpringMVC案例四、SpringMVC:Controller 及 RestFul风格(重点)五、SpringMVC:结果跳转方式六、SpringMVC:数据处理七、SpringMVC:拦截器八、SSM(Spring+SpringMVC+Mybatis)一、什么是MVC什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC._学ssm上手

postgres函数(双重循环)_postgresql 双重循环-程序员宅基地

文章浏览阅读3.2k次。先看基本的语法:NameCREATE FUNCTIONCREATE [ OR REPLACE ] FUNCTION name( [ [argmode] [argname]argtype[ { DEFAULT | = }default_expr] [, ...] ] ) [ RETURNSrettype | RETURNS TABLE (column_nameco_postgresql 双重循环

computed methods watch 的区别_computed,watch methods区别-程序员宅基地

文章浏览阅读55次。computed**特点**:具有缓存性 如果某一个值没有发生改变 计算属性不会重新执行/响应计算某一个属性,只要其中一个变量发生变化,计算属性就可以监听到处理之后并返回不会执行异步操作不会存在vue变量中 新建一个属性并返回methods**特点:**无缓存性 只要调用就重新执行 可以封装函数和发送异步请求_computed,watch methods区别

全透明文本Transparent TextBox, 全透明Winform窗口,全透明控件_winform textbox 透明-程序员宅基地

文章浏览阅读229次。透明窗口, 透明文本框 , 透明listbox, 透明listview, listview标题高度,listview行高度_winform textbox 透明

随便推点

全网最详细用c语言实现植物大战僵尸游戏(上)_c++植物大战僵尸代码-程序员宅基地

文章浏览阅读4.9k次,点赞59次,收藏101次。c语言手撕植物大战僵尸_c++植物大战僵尸代码

ProxySQL--基础--05--多层配置系统_修改proxysql datadir-程序员宅基地

文章浏览阅读44次。换句话说,该数据结构中的配置都是已生效的配置。由于已经存在磁盘数据库文件,这时ProxySQL会从磁盘数据库中读取几乎所有的配置(即使传统配置文件中配置了某项,也不会去解析),但有3项是必须从传统配置文件中读取的。以下场景启动ProxySQL时,都会从传统配置文件config file中读取配置加载到内存数据库,并自动load到runtime数据结构、save到磁盘数据库。注意:几乎所有配置都是在admin管理接口上修改的,这也是建议的配置方式。XXX表示要加载/保存的是哪类配置。_修改proxysql datadir

python编写代码发送163邮箱时报错:smtplib.SMTPAuthenticationError: (535, b‘Error: authentication failed‘)_python smtplib.smtpauthenticationerror: (535, b'er-程序员宅基地

文章浏览阅读751次。最近再使用163邮箱来结合smtp模块发送邮件,但是一直报错如下:于是乎,去163邮箱里面设置了一下相应的服务:获取到了授权码,然后把登录邮箱的密码替换成该授权码,如下:然后再次运行,ok了;..._python smtplib.smtpauthenticationerror: (535, b'error: authentication failed

elasticsearch 安装 (es数据库安装详细)-程序员宅基地

文章浏览阅读927次,点赞3次,收藏8次。es数据库8.6.2版本的安装,详细_es数据库安装

第56章 业务逻辑之物流/配送实体定义-程序员宅基地

文章浏览阅读352次。nopCommerce业务逻辑之折扣、商品类别实体定义实现

Unity 基础框架_unity程序基础框架-程序员宅基地

文章浏览阅读352次,点赞9次,收藏6次。单例模式可以方便代码在不同位置调用系统1.1 普通单例基类1.2 需要继承Mono的基类 需要在Awake 中初始化,需要手动挂载到Gameobject,跨场景会销毁1.3 需要继承mono基类,自动创建Gameobject并且跨场景不会销毁。_unity程序基础框架

推荐文章

热门文章

相关标签