资源简介
ShadowMap_PCF
代码片段和文件信息
#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“Shader/ColorShader.fx“ L“Shader/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*baseTexture FXMVECTOR DiffuseColor FXMVECTOR AmbientColor FXMVECTOR PointLightPos)
{
bool result;
//设置Shader常量缓存和纹理资源
result = SetShaderParameter(d3dDeviceContext worldMatrix viewMatrix ProjMatrix baseTexture DiffuseColorAmbientColorPointLightPos);
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 } // 96位即12个字节
{ “TEXCOORD“0DXGI_FORMAT_R32G32_FLOAT012D3D11_INPUT_PER_VERTEX_DATA0 }
{ “NORMAL“0DX
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8738 2017-06-05 22:19 D3D11_ShadowMap_PCF\ColorShaderClass.cpp
文件 2045 2016-11-01 15:12 D3D11_ShadowMap_PCF\ColorShaderClass.h
文件 1269 2016-10-07 19:15 D3D11_ShadowMap_PCF\CPUClass.cpp
文件 518 2016-10-07 19:46 D3D11_ShadowMap_PCF\CPUClass.h
文件 14159 2017-06-04 21:01 D3D11_ShadowMap_PCF\D3DClass.cpp
文件 2494 2017-06-04 21:01 D3D11_ShadowMap_PCF\D3DClass.h
文件 5913 2017-06-04 20:22 D3D11_ShadowMap_PCF\DepthShaderClass.cpp
文件 1308 2016-10-31 20:07 D3D11_ShadowMap_PCF\DepthShaderClass.h
文件 11434 2017-06-05 22:28 D3D11_ShadowMap_PCF\DrawShadowShaderClass.cpp
文件 2439 2017-06-05 22:28 D3D11_ShadowMap_PCF\DrawShadowShaderClass.h
文件 5678 2016-12-20 23:59 D3D11_ShadowMap_PCF\FirstCameraClass.cpp
文件 1620 2016-12-21 19:44 D3D11_ShadowMap_PCF\FirstCameraClass.h
文件 1134 2016-10-05 21:26 D3D11_ShadowMap_PCF\FontClass.h
文件 3652 2016-12-13 23:43 D3D11_ShadowMap_PCF\FontlClass.cpp
文件 8692 2016-12-13 23:20 D3D11_ShadowMap_PCF\FontShaderClass.cpp
文件 1556 2016-10-06 01:28 D3D11_ShadowMap_PCF\FontShaderClass.h
文件 460 2016-10-07 17:08 D3D11_ShadowMap_PCF\FPSClass.cpp
文件 390 2016-10-07 16:59 D3D11_ShadowMap_PCF\FPSClass.h
文件 17762 2017-06-07 21:56 D3D11_ShadowMap_PCF\GraphicsClass.cpp
文件 1662 2017-06-05 00:27 D3D11_ShadowMap_PCF\GraphicsClass.h
文件 5028 2016-12-20 23:26 D3D11_ShadowMap_PCF\InputClass.cpp
文件 1402 2016-12-20 23:26 D3D11_ShadowMap_PCF\InputClass.h
文件 583 2016-10-03 02:10 D3D11_ShadowMap_PCF\LightClass.cpp
文件 508 2016-10-03 02:09 D3D11_ShadowMap_PCF\LightClass.h
文件 298 2016-12-14 00:15 D3D11_ShadowMap_PCF\Macro.h
文件 1427 2016-10-10 01:05 D3D11_ShadowMap_PCF\MeshData\cube.txt
文件 258 2016-10-31 00:50 D3D11_ShadowMap_PCF\MeshData\floor.txt
文件 2946 2016-10-06 01:55 D3D11_ShadowMap_PCF\MeshData\font.txt
文件 105552 2016-11-01 01:01 D3D11_ShadowMap_PCF\MeshData\plane01.txt
文件 1093129 2016-11-01 00:55 D3D11_ShadowMap_PCF\MeshData\sphere.txt
............此处省略34个文件信息
- 上一篇:D3D11_ShadowMap1
- 下一篇:有源滤波器精确设计手册
相关资源
- 基于51单片机的土壤PH值测定
- 跨行业流程分类框架简体中文版JECN
- MSP430F149的无线温湿度环境实时监测系
- 视觉目标跟踪VOT2015竞赛的前几名算法
- PCF8563实时时钟操作,定时报警设置
- 51单片机PCF8591
- 基于51单片机、PCF8563时钟芯片的智能
- 数码管显示PCF8563实时时钟日历
- arduino_LiquidCrystal_I2C库及proteus仿真LC
- PCF8583中文资料详解及c51程序
- msp430f149与pcf8591
- AD/DA系列PCF8591的驱动程序带详细注释
- STM32F103RCT6使用I2C通讯PCF8591数模转换模
- stm32f103的PCF8563驱动代码
- STM8S003模拟IIC总线读取PCF8563
- 声控LED智能灯
- 关于pcf8591ad转换的iic读取数据模块
- PCF8574LCD模块链接1602单片机51例程
- PCF8591 ad转换及lcd显示
- AD模块PCF8591 DA输出正弦波
- STM32读写时钟PCF8563
- PCF8591中文资料
- pcf8583数字时钟程序清单.
- 基于IIC总线PCF8591AD转换的仿真测试
- PCF8574T中文数据手册.pdf
- 基于单片机+PCF8591的数字电压表(四路
- 51+PCF8574+1602
- hollowcoreppg 多芯光子晶体光纤comsol软件
- STM32+IIC+PCF8574T+1602A
- STM32F103ZET6驱动PCF8591
评论
共有 条评论