Realtime Shader Editors For Mac

It works on Windows, Linux, and Mac OS X. WebGL Shader Editor. SHADERed enables you to create shaders on the fly with a real-time view of the results.

Realtime editor for creating webgl shaders with debugging tools to allow for inspecting local variable definitions in a fragment shader.

Goal

After lot of frustration with developing shaders and not being able to easily track the calculations within a shader, I wanted explore what the possibilities for enabling a rich shader debugger might be light while still affording the direct shader code editing.

Features

Real Time Compilation and Render

As the vertex and fragment shader are updated, the render display is updated and errors are displayed as annotations.

Pixel Zoom

Online

Zooming in on the image zooms in to a pixel view of the image.

Local Variable Value Inspection

Hovering over a pixel in the preview pane will display the values of all the local variables used for that pixel.

Local Variable Color Display

Every local variable will be displayed as a rendered image in the preview bar as though that variable were used to output the color for that fragment.

LocalStorage Saving

The vertex and fragment shader being written are saved and reloaded on refresh

Caveats

  • Because colors are stored as 4 8bit values, there is a severe loss of precision when reading out floating point values. Issue 1, Issue 2

TODO

  • Add pause button for animated variables
  • Texture upload
  • Uniform variable edit UI
  • Multi-pass shaders, stencil buffer, and screen post-effects
  • Add mouse position into shader uniforms

Simple GLSL code editor with realtime 3D preview.

The project was initialized during OpenGL learning sessions to have a betterunderstanding of GLSL shaders with realtime preview. There are already a couple ofweb solutions online, but I wanted a native application for Windows and Linux withan export function to use my shaders also in other projects and to have the abilityto extend the application and make backups of my shader projects.

Warning

The application is in a very early state. Upcoming changes may break your projects!

Releases

See CHANGELOG.md for detailed release notes.

Build

You need the following libraries:

  • Qt5 Core, Gui, Widgets, OpenGL - 5.13.0
  • Boost Libraries - 1.69
  • OpenGL Mathematics (GLM) - 0.9.9

See CMakeLists.txt for further instructions.

Usage

The whole editor should be quite intuitive. On the left side you can find the3D preview, on the other side is the code section. The output log is positioned at thebottom of the main window.

The 2020.1.1 Hotfix fixes compatibility issues with macOS 10.15 Catalina. It also improves overall stability of the product. This update can be installed on all AutoCAD LT for Mac 2020 official releases and is recommended for all users. This hotfix adds Mac OS X 10.9 to the Software Requirements user interface (UI) for Mac software distribution operating systems in Microsoft System Center 2012 Configuration Manager Service Pack 1 (SP1). Describes a hotfix that enables Mac OS X 10.10 (Yosemite) to be targeted as a client platform for the some System Center Configuration Manager features. Hotfix adds Mac OS X 10.10 to the Supported Platforms list for System Center Configuration Manager. Hotfix mac.

The 3D viewport can be controlled with the mouse. Left mouse button rotates the object.Keep middle mouse pressed and move up and down the mouse to translatethe model back and forth. With the right mouse button pressed you can move the camera.

Note the gear icon at the bottom right corner of the code editor. You mayselect textures (tex0 - tex3) for the four predefined sampler2D uniforms, whichmay be used for albedo, normal, metalness and roughness for example. In futureversions could be more than the four predefined slots, so you can add themdynamically as needed.

Keyboard Shortcuts

CommandDescription
Ctrl + RCompile shader code and apply to 3D scene.
Ctrl + Alt + RToggle realtime compilation.
Ctrl + SSave currently opened project.
Ctrl + LToggle log output view.
Ctrl + -/+Zoom text in code editors.

Shader Variables

The following predefined shader variables are supported as of version 1.2.0:

Vertex Shader

  • in vec3 position
  • in vec3 normal
  • in vec2 uv

Fragment Shader

  • uniform sampler2D tex0
  • uniform sampler2D tex1
  • uniform sampler2D tex2
  • uniform sampler2D tex3

Uniforms (All Shaders)

  • uniform float time
  • uniform vec2 resolution
  • uniform mat4 modelMat
  • uniform mat4 viewMat
  • uniform mat4 projectionMat