OS4 DepotLogo by Nickman 
(anonymous IP:,1489) 

   Bug tracker
   Locale browser


   o Audio (330)
   o Datatype (49)
   o Demo (188)
   o Development (553)
   o Document (21)
   o Driver (89)
   o Emulation (143)
   o Game (888)
   o Graphics (475)
   o Library (103)
   o Network (212)
   o Office (57)
   o Utility (835)
   o Video (62)

Total files: 4005

Full index file
Recent index file



Support the site

 Readme for:  Graphics » Viewer » shaderjoy.lha


Description: Display fragment shaders
Download: shaderjoy.lha       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 4Mb
Version: 1.8
Date: 01 Jun 2020
Author: Juha Niemimaki
Submitter: Juha Niemimaki
Homepage: http://capehill.kapsi.fi
Requirements: OpenGL ES 2.0, Warp3D Nova
Category: graphics/viewer
Replaces: graphics/viewer/shaderjoy.lha
License: Freeware
Distribute: yes
Min OS Version: 4.1
FileID: 11316
Comments: 3
Snapshots: 1
Videos: 1
Downloads: 11  (Current version)
85  (Accumulated)
Votes: 7 (7/1)  (30 days/7 days)

Show comments Show snapshots Show videos Show content Show crashlogs Replace file 
# Shaderjoy 1.8

Prototype OpenGL shader code or create digital art on AmigaOS 4!

## Requirements

Ogles2.library 2.11.

Warp3D Nova 1.68.

## Usage

- Load shader using RMB menu.
- Drop shader file (.frag) into the window.
- Reload shader using RMB menu or 'r' key.
- Load texture channel using RMB menu.
- Select VSYNC method using RMB menu.
- Toggle fullscreen mode with LMB double-click, using RMB menu or 'f' key.
- Toggle FPS counter using RMB menu.
- Toggle verbose logging using RMB menu.

## Vertical sync method

- WaitTOF: interrupt-based (*)
- WaitBOVP: busyloop (*)
- Disabled: do not limit frame rate

*) as explained in the Graphics.library Autodoc.

## Supported uniform variables

- vec3 iResolution: the window size in pixels (xy).
- vec4 iMouse: x/y have the mouse coordinate if LMB is pressed, z/w have the
original mouse coordinate when "dragging" started.
- float iTime: second.microsecond.
- float iTimeDelta
- float iFrame: current frame number, starting from 0.
- float iFrameRate
- sampler2D iChannel0...3: texture.
- vec3 iChannelResolution[4]: texture width (x) and height (y).
- vec4 iDate: year (x), month (y), day (z) and seconds (w).

## Known issues

- Many Shadertoy shaders don't work properly. Some simply don't build, some have
visual issues.


- Texture wrapping, flipping and repeat parameters
- Texture generation
- Better controls (play, pause, rewind)
- Better Shadertoy compatibility

## Changes

- Use vertex buffer objects (VBOs).
- Add iTimeDelta and iFrameRate uniforms.
- Add AppWindow support: shaders can be dropped into the window.
- Shader filename can be passed as an argument.
- Improve About box: display GL information.
- Fix issue with blitting over window borders.
- Initialize fragment colour because some shaders do not.
- Reverse iMouse.y.

- Open all screens with SA_LikeWorkbench tag.
- Disable optimized bitmap allocation.
- Log OpenGL information during startup.
- Display version number on screen title bar.
- Fix an issue where FPS counter was not visible when started in fullscreen

- Improve VSYNC mechanism.
- Remove FPS counter flickering in fullscreen mode.
- Allow toggling of FPS counter.
- Add SHOWFPS tooltype.
- Add SCREENMODE tooltype.
- Disable Iconify menu option in fullscreen mode.
- Drop command-line argument support in favor of icon tooltypes.

- Fullscreen mode. Created using SA_LikeWorkbench so it's likely larger and
slower than default window mode!
- Improve logger: buffer is no more limited to 16 kilobytes.
- Change default texture path to "textures/shadertoy" for improve usage.
- User-selectable VSYNC mode (WaitTOF, WaitBOVP or disabled).
- Change default window size to 800 x 450.
- Display running time on window title bar.
- Display window size on window title bar.
- Use window pointer in ASL requesters.
- Add FULLSCREEN tooltype.

- Add icon tooltypes.

- Add iDate support.
- Add verbose logging.
- Fix: window pointer is now cleared when close gadget is used.
- Keep textures (iChannels) active when switching shaders.

- Fix: iChannelResolution is an array of vec3s.
- Workaround: use GL_LINEAR texture filtering to avoid diagonal line where
triangles meet.

- Add iChannel0...3 texture support. Each channel must be loaded manually at the
- Add iChannelResolution0...3 support.
- Add stack cookie and log stack usage at the exit.
- Display a message box in case shader or texture loading fails, instead of

- First version

Copyright © 2004-2020 by Björn Hagström All Rights Reserved