用Eclipse写Shader?

今天看到了一个神器,Synthclipse

它能干什么呢?

Synthclipse 是一款GLSL着色器原型开发工具。它可用于快速开发各种类型的着色器:Fragment (FS)、Vertex (VS)、Geometry (GS)、Tessellation (TS) 以及 Compute (CS)。可以兼容Fragmentarium、Shadertory(仅限 FS 和 VS)、Fragx shaders等工具,并完全兼容 JSX 脚本。它所支持的 JSX API 与 WebGL 保持一致,不过底层全是用 OpenGL 4+ API 实现的。

特性:

  • easy GLSL shader development focused on simplicity and interactivity
  • support for the newest OpenGL API (4+) and for all kind of shaders (Fragment, Vertex, Geometry, Tessellation and Compute)
  • compatibility with WebGL
  • key frame animation
  • high quality movie recording
  • possible music visualization with build-in audio player using mp3 files or by capturing line-in / mic-in audio signal
  • MIDI Controller mapping
  • Spout sharing
  • Shadertoy, Fragmentarium and GLSL Sandbox importers

Synthclipse 基于 Eclipse 开发,依赖 Eclipse CDT (C++ Development Tooling)插件。在 Synthclipse 中,GLSL 是使用 C++ 编辑器来完成开发的,目的是复用 C++ 编辑器中已有的各种方便功能,诸如代码自动补全、变量跟踪等功能。虽然使用C++ 编辑器来开发 GLSL 有点古怪,但实际使用时据说效果还不错。

安装需求:

  • 显卡的OpenGL版本 >= 3.3 (DirectX >= 10),并安装最新的驱动程序。
  • Java >= 8 (JDK or JRE)

Synthclipse 可运行于三种主流操作系统上:

  • Microsoft Windows (32- and 64-bit)
  • Linux (32- and 64-bit)
  • Mac OS X