• 大小: 1.69MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-02
  • 语言: 其他
  • 标签: directx11  

资源简介

D3D11_SpecularMap

资源截图

代码片段和文件信息

#include“ColorShaderClass.h“


ColorShaderClass::ColorShaderClass()
{
md3dVertexShader = NULL;
md3dPixelShader = NULL;
md3dInputLayout = NULL;
mCBMatrixBuffer = NULL;
mCBLightBuffer = NULL;
}


ColorShaderClass::ColorShaderClass(const ColorShaderClass&)
{

}

ColorShaderClass::~ColorShaderClass()
{

}


bool ColorShaderClass::Initialize(ID3D11Device* d3dDevice HWND hwnd)
{
bool result;
result = InitializeShader(d3dDevice hwnd L“MyShader/ColorShader.fx“ L“MyShader/ColorShader.fx“);
if (!result)
return false;

return true;
}

void ColorShaderClass::Shutdown()
{
ShutdownShader();
}

bool ColorShaderClass::Render(ID3D11DeviceContext* d3dDeviceContext int indexCount CXMMATRIX worldMatrix CXMMATRIX viewMatrix CXMMATRIX ProjMatrix ID3D11ShaderResourceView**TextureArray FXMVECTOR diffuseColor FXMVECTOR LightDirection FXMVECTOR AmbientColor CXMVECTOR SpecularColor float SpecularPow CXMVECTOR CameraPos)
{
bool result;

//设置Shader常量缓存和纹理资源
result = SetShaderParameter(d3dDeviceContext worldMatrix viewMatrix ProjMatrix TextureArray diffuseColor LightDirection AmbientColorSpecularColorSpecularPowCameraPos);
if (!result)
return false;

//设置VertexShader PixelShader InputLayout SamplerState
RenderShader(d3dDeviceContext indexCount);

return true;
}

bool ColorShaderClass::InitializeShader(ID3D11Device* d3dDevice HWND hwnd WCHAR* VSFileName WCHAR* PSFileName)
{
HRESULT result;
ID3D10Blob* errorMessage;
ID3D10Blob* VertexShaderBuffer;
ID3D10Blob* PixelShaderBuffer;

//第一初始化参数
errorMessage = NULL;
VertexShaderBuffer = NULL;
PixelShaderBuffer = NULL;

//第二编译VertexShader代码并创建VertexShader
result = D3DX11CompileFromFile(VSFileName NULL NULL “VS“ “vs_5_0“ D3DCOMPILE_ENABLE_STRICTNESS 0 NULL &VertexShaderBuffer &errorMessage NULL);
if (FAILED(result))
{
//存在错误信息
if (errorMessage)
{
OutputShaderErrorMessage(errorMessage hwnd VSFileName);
}
//不存在错误信息也就是没有找到Shader文件
else
{
MessageBox(hwnd L“can not find VS file“ L“error“ MB_OK);
}
}

HR(d3dDevice->CreateVertexShader(VertexShaderBuffer->GetBufferPointer() VertexShaderBuffer->GetBufferSize() NULL &md3dVertexShader));


//第三编译PixelShader并创建PixelShader
result = D3DX11CompileFromFile(PSFileName NULL NULL “PS“ “ps_5_0“ D3DCOMPILE_ENABLE_STRICTNESS 0 NULL &PixelShaderBuffer &errorMessage NULL);
if (FAILED(result))
{
//存在错误信息
if (errorMessage)
{
OutputShaderErrorMessage(errorMessage hwnd PSFileName);
}
//不存在错误信息也就是没有找到Shader文件
else
{
MessageBox(hwnd L“can not find PS file“ L“error“ MB_OK);
}
}

HR(d3dDevice->CreatePixelShader(PixelShaderBuffer->GetBufferPointer() PixelShaderBuffer->GetBufferSize() NULL &md3dPixelShader));

//第四填充输入布局形容结构体创建输入布局
D3D11_INPUT_ELEMENT_DESC VertexInputLayout[] =
{
{ “POSITION“0DXGI_FORMAT_R32G32B32_FLOAT00D3D11_INPUT_PER_VERTEX_DATA0

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      13920  2016-10-11 16:17  D3DClass.cpp

     文件       2262  2016-10-05 22:51  D3DClass.h

     文件       1134  2016-10-05 21:26  FontClass.h

     文件       3652  2016-10-06 20:28  FontlClass.cpp

     文件       8694  2016-10-10 22:32  FontShaderClass.cpp

     文件       1556  2016-10-06 01:28  FontShaderClass.h

     文件        460  2016-10-07 17:08  FPSClass.cpp

     文件        390  2016-10-07 16:59  FPSClass.h

     文件       5848  2016-10-11 16:14  GraphicsClass.cpp

     文件       1240  2016-10-09 22:54  GraphicsClass.h

     文件       3904  2016-10-06 20:24  InputClass.cpp

     文件        995  2016-10-06 18:47  InputClass.h

     文件       1234  2016-10-10 22:37  LightClass.cpp

     文件        877  2016-10-10 22:36  LightClass.h

     文件        228  2016-10-01 17:07  Macro.h

     文件      10753  2016-10-11 03:34  ModelClass.cpp

     文件       2237  2016-10-10 00:48  ModelClass.h

     文件       6655  2016-10-07 19:45  SystemClass.cpp

     文件       1298  2016-10-07 19:20  SystemClass.h

     文件      10265  2016-10-10 22:34  TextClass.cpp

     文件       1910  2016-10-07 19:36  TextClass.h

     文件       1040  2016-10-08 00:29  TextureArray.cpp

     文件        586  2016-10-08 00:29  TextureArray.h

     文件        540  2016-10-05 00:46  TextureClass.cpp

     文件        474  2016-10-05 00:46  TextureClass.h

     文件        466  2016-09-27 11:37  源.cpp

     文件       3744  2016-10-12 17:24  MyShader\ColorShader.fx

     文件       1045  2016-10-06 02:00  MyShader\FontShader.fx

     文件      19477  2016-10-08 00:18  Texture\AlphaMap.png

     文件      95098  2016-10-10 22:39  Texture\base.png

............此处省略23个文件信息

评论

共有 条评论