Files
davinci2/source/shaders/standard/fs_classic_phong.h
T

28 lines
908 B
C++

#pragma once
#include "dvc_config.h"
#include "shader/dvc_shader_interface.h"
class ClassicFragementShader_Phong : public davinci::FragementShaderInterface
{
public:
virtual const char* getName(void) const;
virtual void begin(const davinci::RenderPipe* pipe, davinci::MaterialConstPtr material);
virtual void process(const davinci::VertexDesc& veretexDesc, const float32_t* pixelData,
davinci::fVector4& color);
virtual void end();
private:
const davinci::RenderPipe* m_pipe = nullptr;
davinci::fVector4 m_materialColor = davinci::fVector4::WHITE;
float32_t m_specularShininess = 64.0f;
float32_t m_specularStrength = 5.0f;
davinci::fVector3 m_ambientLightColor = davinci::fVector3(0.2f, 0.2f, 0.2f);
davinci::fVector3 m_light0Position = davinci::fVector3::ZERO;
davinci::fVector3 m_light0Color = davinci::fVector3::WHITE;
davinci::fVector3 m_cameraPosition = davinci::fVector3::ZERO;
};