Menu

Tree [0bfdd8] master /
 History

HTTPS access


File Date Author Commit
 include 2023-02-24 Philip Ashmore Philip Ashmore [0bfdd8] Refactored as an external CMake project
 src 2023-02-24 Philip Ashmore Philip Ashmore [0bfdd8] Refactored as an external CMake project
 CMakeLists.txt 2023-02-24 Philip Ashmore Philip Ashmore [0bfdd8] Refactored as an external CMake project
 INSTALL.txt 2022-10-13 Philip Ashmore Philip Ashmore [faf4cf] Initial commit
 LICENSE.txt 2022-10-13 Philip Ashmore Philip Ashmore [faf4cf] Initial commit
 README.md 2022-10-19 Philip Ashmore Philip Ashmore [ac5059] Cosmetic changes
 snapshot.png 2022-10-13 Philip Ashmore Philip Ashmore [faf4cf] Initial commit

Read Me

Welcome to RenderPass!

RenderPass gives you the ability to sequence GLSL shader renders into a pipeline.
Here's an example:

graph
A[source image]
A --> C[rotate shader]
D[mask shader] --> E[multiply shader]
C --> E
E --> F[Display]

In this graph, any shader that doesn't render directly to the display gets it's own FrameBuffer object.
Here's the C++ code that does this:

gsn::RenderPass pass1(maskShader,  maskShaderMesh,  maskShaderSettings);
gsn::RenderPass pass2(rotateShader,  rotateShaderMesh,  rotateShaderSettings);
gsn::BinaryInputRenderPass pass3(multiplyShader,  multiplyShaderMesh,  multiplyShaderSettings,  pass1,  "A",  pass2,  "B");
pass3.render();

Pass3 (the multiply shader) first calls render() on its input passes before using their FBOs as inputs to its render pass.
This way it's easy to tell the order of operations - it's a graph.

Origins

This project came about because of the work of Thorsten Thormaehlen, the creator of www.gsn-lib.org.

RenderPass started out with most of the code generated by gsn-lib, but it needed some changes:
1. make into a library
2. create an example project that uses the RenderPass library
3. Add classes to actually do the render passes

Enjoy!
Philip Ashmore

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.