1 #include "..\include\raMain.h" 6 DXGI_FORMAT fmt, UINT arraySize)
15 m_pRenderTarget = NULL;
17 m_MipLevels = mipLevels;
19 m_arraySize = arraySize;
23 desc.BindFlags = D3D11_BIND_DEPTH_STENCIL;
24 desc.Format = DXGI_FORMAT_D32_FLOAT;
26 HRESULT hr = m_dx->GetDevice()->CreateTexture2D( &desc, NULL, &m_pDepth);
37 desc.BindFlags = D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE;
38 desc.Format = m_Format;
40 HRESULT hr = m_dx->GetDevice()->CreateTexture2D(&desc, NULL, &m_pRenderTarget);
51 D3D11_DEPTH_STENCIL_VIEW_DESC desc;
52 ZeroMemory(&desc,
sizeof(desc) );
53 desc.Format = DXGI_FORMAT_D32_FLOAT;
57 desc.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2DARRAY;
58 desc.Texture2DArray.FirstArraySlice = 0;
59 desc.Texture2DArray.ArraySize = m_arraySize;
60 desc.Texture2DArray.MipSlice = 0;
64 desc.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2D;
67 HRESULT hr = m_dx->GetDevice()->CreateDepthStencilView(m_pDepth, &desc, &m_pDSView);
78 D3D11_RENDER_TARGET_VIEW_DESC desc;
79 memset(&desc, 0,
sizeof(desc));
80 desc.Format = m_Format;
84 desc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DARRAY;
85 desc.Texture2DArray.FirstArraySlice = 0;
86 desc.Texture2DArray.ArraySize = m_arraySize;
87 desc.Texture2DArray.MipSlice = 0;
91 desc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D;
92 desc.Texture2D.MipSlice = 0;
94 HRESULT hr = m_dx->GetDevice()->CreateRenderTargetView(m_pRenderTarget, &desc, &m_pRTView);
104 D3D11_TEXTURE2D_DESC desc;
105 ZeroMemory(&desc,
sizeof(desc));
106 desc.Width = m_Width;
107 desc.Height = m_Height;
108 desc.ArraySize = m_arraySize;
109 desc.Usage = D3D11_USAGE_DEFAULT;
110 desc.SampleDesc.Count = 1;
111 desc.SampleDesc.Quality = 0;
112 desc.CPUAccessFlags = 0;
114 desc.MiscFlags = D3D11_RESOURCE_MISC_TEXTURECUBE;
116 if(!CreateDepthTexture(desc))
118 RERROR(
"CreateDepthTexture");
122 desc.MipLevels = m_MipLevels;
124 desc.MiscFlags = D3D11_RESOURCE_MISC_GENERATE_MIPS;
126 if(!CreateTexture(desc))
131 if(!CreateDepthStencilView())
133 RERROR(
"CreateDepthStencilView");
136 if(!CreateRenderTargetView())
138 RERROR(
"CreateRenderTargetView");
141 m_pRenderTarget->AddRef();
143 return m_pRenderTarget;
158 m_pRenderTarget->AddRef();
159 return m_pRenderTarget;
ID3D11Texture2D * CreateRenderTarget()
bool CreateDepthStencilView()
bool CreateDepthTexture(D3D11_TEXTURE2D_DESC &desc)
bool CreateTexture(D3D11_TEXTURE2D_DESC &desc)
void RAPI RERROR_DX11(raString x, HRESULT h)
raRenderScreen(raSmartPointer< raDirectX > dx, int width, int height, int mipLevels=1, DXGI_FORMAT fmt=DXGI_FORMAT_R16G16B16A16_FLOAT, UINT arraySize=1)
ID3D11Texture2D * GetTexture()
bool CreateRenderTargetView()
void RAPI RERROR(raString x)