规范模型输入以及测试shader
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
const char* TestPixelShader::getName(void) const
|
||||
{
|
||||
return "test_pixel_shader";
|
||||
return "test";
|
||||
}
|
||||
|
||||
void TestPixelShader::prepare(const davinci::UniformBuffer* uniformBuffer, SetInputAttributeFunc setInputAttributeFunc)
|
||||
@@ -12,14 +12,14 @@ void TestPixelShader::prepare(const davinci::UniformBuffer* uniformBuffer, SetIn
|
||||
|
||||
void TestPixelShader::process(const davinci::VertexDesc& veretexDesc, const float32_t* pixelData, davinci::fVector4& color)
|
||||
{
|
||||
const davinci::VertexDesc::Element* v_position_Element = veretexDesc.getElement("v_position");
|
||||
const davinci::fVector3* v_position = (const davinci::fVector3*)(pixelData + (v_position_Element->offset / sizeof(float32_t)));
|
||||
//const davinci::VertexDesc::Element* v_position_Element = veretexDesc.getElement("v_position");
|
||||
//const davinci::fVector3* v_position = (const davinci::fVector3*)(pixelData + (v_position_Element->offset / sizeof(float32_t)));
|
||||
|
||||
const davinci::VertexDesc::Element* v_normal_Element = veretexDesc.getElement("v_normal");
|
||||
const davinci::fVector3* v_normal = (const davinci::fVector3*)(pixelData + (v_normal_Element->offset / sizeof(float32_t)));
|
||||
|
||||
const davinci::VertexDesc::Element* v_uv_Element = veretexDesc.getElement("v_uv");
|
||||
const float32_t* v_uv = (const float32_t*)(pixelData + (v_uv_Element->offset / sizeof(float32_t)));
|
||||
//const davinci::VertexDesc::Element* v_uv_Element = veretexDesc.getElement("v_uv");
|
||||
//const float32_t* v_uv = (const float32_t*)(pixelData + (v_uv_Element->offset / sizeof(float32_t)));
|
||||
|
||||
const davinci::VertexDesc::Element* v_toCamera_Element = veretexDesc.getElement("v_toCamera");
|
||||
const davinci::fVector3* v_toCamera = (const davinci::fVector3*)(pixelData + (v_toCamera_Element->offset / sizeof(float32_t)));
|
||||
@@ -49,9 +49,9 @@ void TestPixelShader::process(const davinci::VertexDesc& veretexDesc, const floa
|
||||
davinci::fVector3 vH = vL + vV;
|
||||
vH.normalise();
|
||||
|
||||
davinci::fVector3 u_ambientColor = davinci::fVector3(0.1, 0.1, 0.1);
|
||||
davinci::fVector3 u_ambientColor = davinci::fVector3(0.2, 0.2, 0.2);
|
||||
|
||||
davinci::fVector3 u_matColor = davinci::fVector3(1.0, 0.5, 0.7);
|
||||
davinci::fVector3 u_matColor = davinci::fVector3(0.7, 0.7, 0.7);
|
||||
|
||||
davinci::fVector3 u_lightColor = davinci::fVector3(1.0, 1.0, 1.0);
|
||||
|
||||
@@ -69,8 +69,24 @@ void TestPixelShader::process(const davinci::VertexDesc& veretexDesc, const floa
|
||||
davinci::fVector3 colSpec = (ndotl < 0.f ? 0.0 : 1.0) * std::powf(spec, 64.f) * u_matColor * u_lightColor;
|
||||
|
||||
//color final = colAmbient + colDiff + colSpec;
|
||||
davinci::fVector3 final = colAmbient + colDiff + colSpec;
|
||||
davinci::fVector3 final = colAmbient +colDiff +colSpec;
|
||||
//davinci::fVector3 final = *v_color0;
|
||||
|
||||
//color = davinci::fVector4::RED;
|
||||
color = davinci::fVector4(final.saturate(), 1.0f);// davinci::fVector4::RED;
|
||||
}
|
||||
}
|
||||
|
||||
const char* SolidColorPixelShader::getName(void) const
|
||||
{
|
||||
return "solid";
|
||||
}
|
||||
|
||||
void SolidColorPixelShader::prepare(const davinci::UniformBuffer* uniformBuffer, SetInputAttributeFunc setInputAttributeFunc)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void SolidColorPixelShader::process(const davinci::VertexDesc& veretexDesc, const float32_t* pixelData, davinci::fVector4& color)
|
||||
{
|
||||
color = davinci::fVector4::RED;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user