Example #1
0
void ShutdownUtils()
{
	linear_copy_sampler.reset();
	point_copy_sampler.reset();
	font.Shutdown();
	SAFE_DELETE(util_vbuf);
}
Example #2
0
void InitUtils()
{
	util_vbuf = new UtilVertexBuffer(65535);

	float border[4] = { 0.f, 0.f, 0.f, 0.f };
	D3D11_SAMPLER_DESC samDesc = CD3D11_SAMPLER_DESC(D3D11_FILTER_MIN_MAG_MIP_POINT, D3D11_TEXTURE_ADDRESS_BORDER, D3D11_TEXTURE_ADDRESS_BORDER, D3D11_TEXTURE_ADDRESS_BORDER, 0.f, 1, D3D11_COMPARISON_ALWAYS, border, 0.f, 0.f);
	HRESULT hr = D3D::device->CreateSamplerState(&samDesc, ToAddr(point_copy_sampler));
	if (FAILED(hr)) PanicAlert("Failed to create sampler state at %s %d\n", __FILE__, __LINE__);
	else SetDebugObjectName(point_copy_sampler.get(), "point copy sampler state");

	samDesc = CD3D11_SAMPLER_DESC(D3D11_FILTER_MIN_MAG_MIP_LINEAR, D3D11_TEXTURE_ADDRESS_BORDER, D3D11_TEXTURE_ADDRESS_BORDER, D3D11_TEXTURE_ADDRESS_BORDER, 0.f, 1, D3D11_COMPARISON_ALWAYS, border, 0.f, 0.f);
	hr = D3D::device->CreateSamplerState(&samDesc, ToAddr(linear_copy_sampler));
	if (FAILED(hr)) PanicAlert("Failed to create sampler state at %s %d\n", __FILE__, __LINE__);
	else SetDebugObjectName(linear_copy_sampler.get(), "linear copy sampler state");

	// cached data used to avoid unnecessarily reloading the vertex buffers
	memset(&tex_quad_data, 0, sizeof(tex_quad_data));	
	memset(&draw_quad_data, 0, sizeof(draw_quad_data));
	memset(&clear_quad_data, 0, sizeof(clear_quad_data));

	// make sure to properly load the vertex data whenever the corresponding functions get called the first time
	stq_observer = stsq_observer = cq_observer = clearq_observer = true;
	util_vbuf->AddWrapObserver(&stq_observer);
	util_vbuf->AddWrapObserver(&stsq_observer);
	util_vbuf->AddWrapObserver(&cq_observer);
	util_vbuf->AddWrapObserver(&clearq_observer);

	font.Init();
}
Example #3
0
	void UGraphicsDevice::SetPSSamplerState(SamplerStatePtr inSampler, int inSlot)
	{
		auto sampler = inSampler.get();
		mD3dDeviceCtx->PSSetSamplers(inSlot, 1, &sampler);
	}
void GraphicsDriver::SetPSSamplerState( SamplerStatePtr inSamplerState, int inStartSlot )
{
	auto sampler = inSamplerState.get(); 
	g_pImmediateContext->PSSetSamplers( inStartSlot, 1, &sampler );
}
Example #5
0
ID3D11SamplerState* GetLinearCopySampler()
{
	return linear_copy_sampler.get();
}
Example #6
0
ID3D11SamplerState* GetPointCopySampler()
{
	return point_copy_sampler.get();
}
Example #7
0
void SetLinearCopySampler()
{
	D3D::stateman->SetSampler(0, linear_copy_sampler.get());
}
Example #8
0
void SetPointCopySampler()
{
	D3D::stateman->SetSampler(0, point_copy_sampler.get());
}