#include <blinnphongcolorshader.h>
Public Member Functions | |
BlinnPhongColorShader (Core &core) | |
virtual bool | init (utility::ErrorState &errorState) override |
![]() | |
Shader (Core &core) | |
~Shader () | |
const VertexAttributeDeclarations & | getAttributes () const |
VkShaderModule | getVertexModule () const |
VkShaderModule | getFragmentModule () const |
![]() | |
BaseShader (Core &core) | |
virtual | ~BaseShader () |
const SamplerDeclarations & | getSamplerDeclarations () const |
const std::vector< BufferObjectDeclaration > & | getUBODeclarations () const |
const std::vector< BufferObjectDeclaration > & | getSSBODeclarations () const |
const ShaderConstantDeclarations & | getConstantDeclarations () const |
const std::string & | getDisplayName () const |
VkDescriptorSetLayout | getDescriptorSetLayout () const |
void | clear () |
![]() | |
Resource () | |
![]() | |
Object () | |
virtual | ~Object () |
virtual void | onDestroy () |
Object (Object &)=delete | |
Object & | operator= (const Object &)=delete |
Object (Object &&)=delete | |
Object & | operator= (Object &&)=delete |
Additional Inherited Members | |
![]() | |
enum | EShaderType : uint { Vertex = 0x01, Fragment = 0x02 } |
using | ShaderTypeFlags = uint |
![]() | |
static bool | isIDProperty (rtti::Instance &object, const rtti::Property &property) |
![]() | |
std::string | mID |
Property: 'mID' unique name of the object. Used as an identifier by the system. More... | |
![]() | |
bool | load (const std::string &displayName, const std::vector< std::string > &searchPaths, const char *vertShader, int vertSize, const char *fragShader, int fragSize, utility::ErrorState &errorState) |
bool | loadDefault (const std::string &displayName, utility::ErrorState &errorState) |
![]() | |
bool | initLayout (VkDevice device, nap::utility::ErrorState &errorState) |
bool | verifyShaderVariableDeclarations (utility::ErrorState &errorState) |
![]() | |
RenderService * | mRenderService = nullptr |
Handle to render engine. More... | |
std::string | mDisplayName |
Filename of shader used as display name. More... | |
BufferObjectDeclarationList | mUBODeclarations |
All uniform buffer object declarations. More... | |
BufferObjectDeclarationList | mSSBODeclarations |
All storage buffer object declarations. More... | |
SamplerDeclarations | mSamplerDeclarations |
All sampler declarations. More... | |
ShaderConstantDeclarations | mConstantDeclarations |
All shader constant declarations. More... | |
VkDescriptorSetLayout | mDescriptorSetLayout = VK_NULL_HANDLE |
Descriptor set layout. More... | |
This is NAP's default blinn-phong shader program and is compatible with the naprenderadvanced
light system. It also supports shadows and environment maps. When compiling NAP for Raspberry Pi, shadows are disabled when the Vulkan version is lower than 1.1.
The blinnphongcolor shader exposes the following shader variables for users:
The remaining uniforms are set automatically by the nap::RenderAdvancedService
.
BlinnPhongColorShader | ( | Core & | core | ) |
|
overridevirtual |
Cross compiles the constant GLSL shader code to SPIR-V, creates the shader module and parses all the uniforms and samplers.
errorState | contains the error if initialization fails. |
Reimplemented from Object.