]> git.tdb.fi Git - libs/gl.git/commit - source/glsl/output.cpp
Redesign the way shader programs are loaded
authorMikko Rasa <tdb@tdb.fi>
Sun, 21 Feb 2021 14:23:07 +0000 (16:23 +0200)
committerMikko Rasa <tdb@tdb.fi>
Sun, 21 Feb 2021 14:23:07 +0000 (16:23 +0200)
commitdccad64b2ec82249d850b9745614042171499972
tree3f47b3ea707b0c1945d2c35d35f2eca8824daecb
parentede0bc3f5c7124ef100576ad4b0890c9cd13c79d
Redesign the way shader programs are loaded

Vulkan uses SPIR-V modules which can be specialized so there has to be a
way to keep the module around.  A module can also contain multiple shader
stages.  The abstraction for individual stages with the Shader class is
outdated and has been replaced with Module.

GLSL code is stored in the Module in combined form and split into stages
when loaded to a Program.
19 files changed:
blender/io_mspgl/export_material.py
source/core/module.cpp [new file with mode: 0644]
source/core/module.h [new file with mode: 0644]
source/core/program.cpp
source/core/program.h
source/core/shader.cpp
source/core/shader.h
source/effects/ambientocclusion.cpp
source/effects/bloom.cpp
source/effects/colorcurve.cpp
source/glsl/compiler.cpp
source/glsl/compiler.h
source/glsl/output.cpp
source/glsl/output.h
source/materials/renderpass.cpp
source/materials/renderpass.h
source/render/occludedscene.cpp
source/resources/resources.cpp
source/resources/resources.h