LRESULT CMediaWnd::OnPlayFile(WPARAM /*wParam*/, LPARAM lParam) { // m_wndFrame.PlayFile( *(CString*)lParam ); // delete (CString*)lParam; // Obsolete CAutoPtr< CString > psFile( (CString*)lParam ); m_wndFrame.PlayFile( *psFile ); return 0; }
void gameObject::CreateShaderAndConstantBuffer(const char * _vsDir, const char * _psDir) { ifstream vsFile(_vsDir, ios::binary); vector<char> vsData = { istreambuf_iterator<char>(vsFile),istreambuf_iterator<char>() }; ifstream psFile(_psDir, ios::binary); vector<char> psData = { istreambuf_iterator<char>(psFile),istreambuf_iterator<char>() }; HRESULT hr = gameStatic.getDevice()->CreateVertexShader(vsData.data(), vsData.size(), 0, &m_vs); HRESULT hr2 = gameStatic.getDevice()->CreatePixelShader(psData.data(), psData.size(), 0, &m_ps); D3D11_INPUT_ELEMENT_DESC layout[] = { { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 }, { "NORMAL" ,0,DXGI_FORMAT_R32G32B32_FLOAT,0,D3D11_APPEND_ALIGNED_ELEMENT,D3D11_INPUT_PER_VERTEX_DATA, 0 } }; int numElements = sizeof(layout) / sizeof(D3D11_INPUT_ELEMENT_DESC); gameStatic.getDevice()->CreateInputLayout(layout, numElements, vsData.data(), vsData.size(), &m_IL); //matrix buffer (WVP) D3D11_BUFFER_DESC matrixDesc = {}; matrixDesc.Usage = D3D11_USAGE_DYNAMIC; matrixDesc.ByteWidth = sizeof(matrix_WorldViewProj); matrixDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER; matrixDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; gameStatic.getDevice()->CreateBuffer(&matrixDesc, 0, &m_matrixBuffer); //sampler state (Texture) D3D11_SAMPLER_DESC samplerDesc = {}; samplerDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR; samplerDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP; samplerDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP; samplerDesc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP; samplerDesc.MipLODBias = 0.0f; samplerDesc.MaxAnisotropy = 1; samplerDesc.ComparisonFunc = D3D11_COMPARISON_ALWAYS; samplerDesc.BorderColor[0] = 0; samplerDesc.BorderColor[1] = 0; samplerDesc.BorderColor[2] = 0; samplerDesc.BorderColor[3] = 0; samplerDesc.MinLOD = 0; samplerDesc.MaxLOD = D3D11_FLOAT32_MAX; gameStatic.getDevice()->CreateSamplerState(&samplerDesc, &m_samplerState); //Light Buffer D3D11_BUFFER_DESC lightBuffDesc = {}; lightBuffDesc.Usage = D3D11_USAGE_DYNAMIC; lightBuffDesc.ByteWidth = sizeof(lightBufferType); lightBuffDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER; lightBuffDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; lightBuffDesc.MiscFlags = 0; lightBuffDesc.StructureByteStride = 0; HRESULT hr12312= _getDevice->CreateBuffer(&lightBuffDesc, NULL, &m_lightBuffer); }