基于Maxmspjitter的基础【pixel shader】绘制模板Patcher
间断性接触Maxmspjitter已经有6个年头了,是时候总结一些常用的、基础的知识以及它的应用,不过笔者自认为还是处于初学者阶段,望高人多多指教。
开始
这一次就以jitter模块中通用处理图像节点jit.gl.pix
来切入,写一个基础模板样例供参考学习,针对编写pixel shader的,如下:
节点很清楚,需要基于Opengl渲染的jit.world
,还有jit.matrix
作为jit.gl.pix
的输入源,也就是fragment片元信息,像素矩阵。需要注意的是,jit.gl.pix
是需要有bang
来时刻驱动的,因此这里我直接沿用了jit.world
节点上的{render draw bang}输出口来驱动jit.gl.pix
,如图示:
而jit.world
需要打开信号,即@enable属性至1,,或是加一个toggle开关赋予也行,并且我赋floating也为1,让其窗口永远在上面浮现,最终的节点连接如下图所示:
在jit.gl.pix
节点中随便用户使用节点连接还是文本编写,我采用了文本编写方式,即使用CodeBox模块
【jitter强就强在可以两者结合嵌套着编程】,如下:
其中的in 1
、out 1
分别代表输入的像素阵列对象和输出的像素对象fragment color
。其中的代码意图在此不去展开。这样一来world窗口中就可以见到最终渲染的画面了。
结束
很显然,Maxmspjitter提供给用户一个可视化的编程环境,用于创意编程,它极大可能的允许用户自定义效果,几乎可以在此框架上再搭建框架,功能性没有任何局限,同时又能大幅度降低开发学习的成本和是错成本,一切变得“可看”、“可变”、“可爱”。当然这例是使用jit.gl.pix
,jitter同样允许使用标准的GLSL语言来写shader,这就是后话了。上述模板可以供初学者参考,特别是想学shader着色器的同学们,因为学shader不在于平台,在于思维和规范,其实学任何语言都是这个道理,而jitter这个平台可视且易改,并且直接面向创意编程,何乐而不为呢。
更多的shader知识和例子我们下次再聊!
基于Maxmspjitter的基础【pixel shader】绘制模板Patcher的更多相关文章
- 分享六个基于Bootstrap的实用开发教程和模板演示
关于Bootstrap,相信大家一定不陌生,它已经成为现在主流产业的一个重要工具,Bootstrap提供了优雅的HTML和CSS规范,它基于jQuery框架开发的,它在jQuery框架的基础上进行了更 ...
- [译]Vulkan教程(13)图形管道基础之Shader模块
[译]Vulkan教程(13)图形管道基础之Shader模块 Shader modules Unlike earlier APIs, shader code in Vulkan has to be s ...
- [python] 基于matplotlib实现圆环图的绘制
圆环图本质上是一个中间切出一块区域的饼状图.可以使用python和matplotlib库来实现.本文主要介绍基于matplotlib实现圆环图.本文所有代码见:Python-Study-Notes # ...
- 片元着色器(Fragment Shader)被称为像素着色器(Pixel Shader),但
片元着色器(Fragment Shader)被称为像素着色器(Pixel Shader),但片元着色器是一个更合适的名字, 因为此时的片元并不是一个真正意义上的像素.
- Metronic – 超赞!基于 Bootstrap 的响应式后台管理模板
Metronic 是一套精美的响应式后台管理模板,基于强大的 Twitter Bootstrap 框架实现.Metronic 拥有简洁优雅的 Metro UI 风格界面,6 种颜色可选,76 个模板页 ...
- [工作积累] D3D10+ 中 Pixel Shader 的input semantic和参数顺序
由于semantic的使用,我们有理由相信 vertex shader的output 和 pixel shader的input是按照semantic来匹配的,而跟传入顺序无关.印象dx9时代是这样. ...
- 基于canvas二次贝塞尔曲线绘制鲜花
canvas中二次贝塞尔曲线参数说明: cp1x:控制点1横坐标 cp1y:控制点1纵坐标 x: 结束点1横坐标 y:结束点1纵坐标 cp2x:控制点2横坐标 cp2y:控制点2纵坐标 z:结束点2横 ...
- Unity Shader之模板测试
Unity Shader之模板测试 一沙一世界,一花一天堂 一.Stencil testing 渲染管线 当片段着色器处理完一个片段之后,模板测试(Stencil Test)会开始执行,和深度 ...
- Vue基础之Vue的模板语法
Vue基础之Vue的模板语法 数据绑定 01 数据绑定最常见的形式就是使用插值表达式(两个大括号!)[也就是小胡子语法!mustache] <body> <!-- Vue.js的应用 ...
- DuiLib笔记,基于WindowImplBase的基础模板
Main.cpp #include <UIlib.h> using namespace DuiLib; class MainWindow : public WindowImplBase { ...
随机推荐
- 使用Python实现两组数据纵向排序
一.引言 在数据分析和处理过程中,排序是一项非常常见的操作.排序操作能够让我们更清晰地理解数据,从而进行进一步的分析和处理.在Python中,排序操作通常可以通过内置函数或第三方库来实现.本文将详细讲 ...
- node 生成api文档 使用apidoc
先给大家看一下使用apidoc生成文档之后的视图,如果是所需的样子,可以继续往下看, 开始操作 1. 需要全局安装apidoc npm i apidoc -g 2. 生成配置文件 两种方法(用哪个都可 ...
- k8s单节点改为高可用和更新证书
master单节点添加master节点 apiServer添加域名更新证书 更新kubenertes证书有效期 环境 kubernetes v1.22.12 使用kubeadm安装的集群 #添加节点 ...
- [转]基于vue-router的matched实现面包屑功能
原文链接:基于vue-router的matched实现面包屑功能
- [转]idea中创建maven的Javaweb工程并进行配置(图文教程)
原文链接: idea中创建maven的Javaweb工程并进行配置(图文教程)
- 人类讨厌AI的缺点,其实自己也有,是时候反思了。
马特·科拉默摄于Unsplash 前言:人类讨厌AI,其实就是讨厌自己! 如果你问一些人对人工智能的看法,你可能会听到诸如不道德.偏见.不准确甚至操纵这样的词语. 人工智能因为种种原因正备受批评.它让 ...
- 史上最全的Cursor IDE教程
Cursor IDE 使用教程 1. 快速上手 1.1 入门流程 graph TD A[安装Cursor] --> B[首次启动] B --> C[选择主题和配置] C --> D[ ...
- Netty-快速入门
---------------------------------------------------- netty是什么? Netty is an asynchronous event-driven ...
- (原创)[开源][.Net Standard 2.0] SimpleMMF (进程间通信框架)更新 v1.1,极低CPU占用
一.前言 在上一篇 (原创)[.Net] 进程间通信框架(基于共享内存)--SimpleMMF 中,发布了v1.0版,最大的问题是:CPU占用较高,至少40-50%. 这既与我的开发水平有关,也与Si ...
- 《HelloGitHub》第 106 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. github.com/521xueweihan/HelloG ...