Example #1
0
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;
}
Example #2
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);
}