91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.73MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-10-02
  • 語言: 其他
  • 標簽: DeferShafer??

資源簡介

D3D11_DerfferredShading

資源截圖

代碼片段和文件信息

#include“BitmapClass.h“

BitmapClass::BitmapClass()
{
????md3dVertexBuffer=NULL;?//頂點緩存
????md3dIndexBuffer=NULL;??//索引緩存
mVertexCount?=?0;
mIndexCount?=?0;

}


BitmapClass::BitmapClass(const?BitmapClass&?other)
{

}

BitmapClass::~BitmapClass()
{

}

bool?BitmapClass::Initialize(ID3D11Device*?d3dDevice?int?ScrrenWidth?int?ScrrenHeight)
{
bool?result;
//初始化屏幕長寬,紋理長寬,坐標點
mScrrenWidth?=?ScrrenWidth;
mScrrenHeight?=?ScrrenHeight;

//初始化頂點緩存,索引緩存
result?=?InitializeBuffer(d3dDevice);
if?(!result)
{
MessageBox(NULL?L“Initialize?Buffer?failure“?L“ERROR“?MB_OK);
return?false;
}


return?true;
}

void?BitmapClass::Shutdown()
{
ShutdownBuffer();
}


bool?BitmapClass::Render(ID3D11DeviceContext*?d3dDeviceContext)
{
bool?result;

result?=?UpdateBuffers(d3dDeviceContext);
if?(!result)
{
return?false;
}
//設置渲染管線的頂點緩存和索引緩存(IA階段)
RenderBuffers(d3dDeviceContext);
return?true;
}

bool?BitmapClass::InitializeBuffer(ID3D11Device*?d3dDevice)
{
Vertex*?vertexs=NULL;
WORD*indices=NULL;??//一個字為兩個字節(jié)?

mVertexCount?=?6;
mIndexCount?=?6;

//創(chuàng)建頂點數(shù)組
vertexs?=?new?Vertex[mVertexCount];
if?(!vertexs)
return?false;

//創(chuàng)建索引數(shù)組
indices?=?new?WORD[mIndexCount];
if?(!indices)
return?false;

//初始化頂點數(shù)組為0
memset(vertexs?0?sizeof(Vertex)*mVertexCount);


//賦予索引數(shù)組數(shù)據(jù)
//注意用左手定則判定是不是背面
indices[0]?=?0;
indices[1]?=?1;
indices[2]?=?2;
indices[3]?=?3;
indices[4]?=?4;
indices[5]?=?5;


//第一填充(頂點)緩存形容結(jié)構(gòu)體和子資源數(shù)據(jù)結(jié)構(gòu)體并創(chuàng)建頂點緩存(這里用的是動態(tài)緩存)
D3D11_BUFFER_DESC?vertexBufferDesc;
vertexBufferDesc.Usage?=?D3D11_USAGE_DYNAMIC;
vertexBufferDesc.ByteWidth?=?sizeof(Vertex)?*?mVertexCount;
vertexBufferDesc.BindFlags?=?D3D11_BIND_VERTEX_BUFFER;
vertexBufferDesc.CPUAccessFlags?=?D3D11_CPU_ACCESS_WRITE;
vertexBufferDesc.MiscFlags?=?0;
vertexBufferDesc.StructureByteStride?=?0;

D3D11_SUBRESOURCE_DATA?vertexData;
vertexData.pSysMem?=?vertexs;
vertexData.SysMemPitch?=?0;
vertexData.SysMemSlicePitch?=?0;
HR(d3dDevice->CreateBuffer(&vertexBufferDesc?&vertexData?&md3dVertexBuffer));

//第二填充(索引)緩存形容結(jié)構(gòu)體和子資源數(shù)據(jù)結(jié)構(gòu)體并創(chuàng)建索引緩存
D3D11_BUFFER_DESC??indexBufferDesc;
indexBufferDesc.Usage?=?D3D11_USAGE_DEFAULT;
indexBufferDesc.ByteWidth?=?sizeof(WORD)?*?mIndexCount;
indexBufferDesc.BindFlags?=?D3D11_BIND_INDEX_BUFFER;
indexBufferDesc.CPUAccessFlags?=?0;
indexBufferDesc.MiscFlags?=?0;
indexBufferDesc.StructureByteStride?=?0;

D3D11_SUBRESOURCE_DATA?indexData;
indexData.pSysMem?=?indices;
indexData.SysMemPitch?=?0;
indexData.SysMemSlicePitch?=?0;
????HR(d3dDevice->CreateBuffer(&indexBufferDesc?&indexData?&md3dIndexBuffer));

//釋放頂點數(shù)組和索引數(shù)組(這時數(shù)據(jù)已經(jīng)載入緩存不需要這些數(shù)組了)
delete[]vertexs;
vertexs?=?NULL;
delete[]indices;
indices?=?NULL;

return?true;
}

void?BitmapClass::ShutdownBuffer()
{
//釋放頂點緩存和索引緩存
ReleaseCOM(md3dIndexBuffer);
ReleaseCOM(md3dVertexBuffer);



}

void?BitmapClass::RenderBuffers(ID3D11Devi

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1993??2016-11-15?21:19??LightShaderClass.h

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

?????文件???????5955??2016-10-02?22:51??ModelClass.cpp

?????文件???????1617??2016-10-02?21:40??ModelClass.h

?????文件???????5840??2016-09-30?23:41??SystemClass.cpp

?????文件???????1196??2016-09-27?11:56??SystemClass.h

?????文件????????496??2016-10-01?17:12??TexClass.cpp

?????文件????????446??2016-10-01?17:11??TexClass.h

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

?????文件???????1321??2016-11-15?20:44??MyShader\DefferredShader.fx

?????文件???????1707??2016-11-15?21:45??MyShader\LightShader.fx

?????文件???11635040??2016-10-03?01:58??Texture\food.dds

?????文件???????1427??2016-10-10?01:05??Txt\cube.txt

?????文件???????5445??2016-10-24?01:02??BitmapClass.cpp

?????文件???????1136??2016-10-23?17:50??BitmapClass.h

?????文件???????2468??2016-11-15?21:18??CameraClass.h

?????文件??????12421??2016-11-15?20:45??D3DClass.cpp

?????文件???????2289??2016-11-15?20:01??D3DClass.h

?????文件???????5432??2016-11-15?20:57??DefferredBufferClass.cpp

?????文件???????1097??2016-11-15?21:11??DefferredBufferClass.h

?????文件???????7582??2016-11-15?18:58??DefferredShaderClass.cpp

?????文件???????1707??2016-11-15?18:55??DefferredShaderClass.h

?????文件???????7186??2016-11-15?21:42??GraphicsClass.cpp

?????文件???????1292??2016-11-15?19:47??GraphicsClass.h

?????文件????????497??2016-09-27?11:27??InputClass.cpp

?????文件????????372??2016-09-27?11:11??InputClass.h

?????文件????????583??2016-10-03?02:10??LightClass.cpp

?????文件????????508??2016-10-03?02:09??LightClass.h

?????文件???????8695??2016-11-15?21:44??LightShaderClass.cpp

?????目錄??????????0??2016-11-15?21:45??MyShader

............此處省略5個文件信息

評論

共有 條評論

相關資源