Skip to content

Commit

Permalink
Major refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
matt77hias committed Mar 28, 2017
1 parent 52c3f6a commit f1db42f
Show file tree
Hide file tree
Showing 45 changed files with 1,504 additions and 1,517 deletions.
4 changes: 2 additions & 2 deletions MAGE/FPS/src/core/FPS.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ class TestScene : public Scene {
AddScript(test_script);

//TODO
SpriteFont font(*(g_engine->GetRenderer().GetDevice().Get()), L"assets/fonts/calibri.spritefont", SpriteFontDescriptor());
SpriteFont font(g_engine->GetRenderer().GetDevice(), L"assets/fonts/calibri.spritefont", SpriteFontDescriptor());
}

private:
Expand Down Expand Up @@ -116,7 +116,7 @@ int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE, LPSTR, int nCmdShow) {
// Create the engine, then run it.
g_engine = new Engine(setup);
g_engine->Run(nCmdShow);
delete g_engine;
SAFE_DELETE(g_engine);

return 0;
}
2 changes: 1 addition & 1 deletion MAGE/MAGE/src/core/version.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#pragma region

#define MAGE_VERSION_MAJOR 0
#define MAGE_VERSION_MINOR 11
#define MAGE_VERSION_MINOR 12
#define MAGE_VERSION_PATCH 0

#define MAGE_QUOTE(S) #S
Expand Down
6 changes: 3 additions & 3 deletions MAGE/MAGE/src/mesh/mesh.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ namespace mage {
@param[in] primitive_topology
The primitive topology.
*/
Mesh(ComPtr< ID3D11Device2 > device, ComPtr< ID3D11DeviceContext2 > device_context, size_t vertex_size,
Mesh(ID3D11Device2 *device, ID3D11DeviceContext2 *device_context, size_t vertex_size,
DXGI_FORMAT index_format = DXGI_FORMAT_R32_UINT,
D3D11_PRIMITIVE_TOPOLOGY primitive_topology = D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST)
: m_device(device), m_device_context(device_context),
Expand Down Expand Up @@ -148,7 +148,7 @@ namespace mage {
/**
A pointer to the device of this mesh.
*/
ComPtr< ID3D11Device2 > m_device;
ID3D11Device2 * const m_device;

/**
A pointer to the vertex buffer of this mesh.
Expand Down Expand Up @@ -201,7 +201,7 @@ namespace mage {
/**
A pointer to the device context of this mesh.
*/
ComPtr< ID3D11DeviceContext2 > m_device_context;
ID3D11DeviceContext2 * const m_device_context;

/**
The vertex size of this static mesh.
Expand Down
6 changes: 3 additions & 3 deletions MAGE/MAGE/src/mesh/sprite_batch_mesh.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
//-----------------------------------------------------------------------------
namespace mage {

SpriteBatchMesh::SpriteBatchMesh(ComPtr< ID3D11Device2 > device, ComPtr< ID3D11DeviceContext2 > device_context)
SpriteBatchMesh::SpriteBatchMesh(ID3D11Device2 *device, ID3D11DeviceContext2 *device_context)
: Mesh(device, device_context, sizeof(VertexPositionColorTexture), DXGI_FORMAT_R16_UINT) {

const HRESULT result_vertex_buffer = SetupVertexBuffer();
Expand All @@ -33,7 +33,7 @@ namespace mage {
}

HRESULT SpriteBatchMesh::SetupVertexBuffer() {
const HRESULT result_vertex_buffer = CreateDynamicVertexBuffer< VertexPositionColorTexture >(*m_device.Get(), m_vertex_buffer.ReleaseAndGetAddressOf(), nullptr, MaxVerticesPerSprite());
const HRESULT result_vertex_buffer = CreateDynamicVertexBuffer< VertexPositionColorTexture >(m_device, m_vertex_buffer.ReleaseAndGetAddressOf(), nullptr, MaxVerticesPerSprite());
if (FAILED(result_vertex_buffer)) {
Error("Vertex buffer creation failed: %08X.", result_vertex_buffer);
return result_vertex_buffer;
Expand All @@ -59,7 +59,7 @@ namespace mage {
indices.push_back(i + 2);
}

const HRESULT result_index_buffer = CreateIndexBuffer< uint16_t >(*m_device.Get(), m_index_buffer.ReleaseAndGetAddressOf(), indices.data(), indices.size());
const HRESULT result_index_buffer = CreateIndexBuffer< uint16_t >(m_device, m_index_buffer.ReleaseAndGetAddressOf(), indices.data(), indices.size());
if (FAILED(result_index_buffer)) {
Error("Index buffer creation failed: %08X.", result_index_buffer);
return result_index_buffer;
Expand Down
2 changes: 1 addition & 1 deletion MAGE/MAGE/src/mesh/sprite_batch_mesh.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ namespace mage {
/**
Constructs a sprite batch mesh.
*/
SpriteBatchMesh(ComPtr< ID3D11Device2 > device, ComPtr< ID3D11DeviceContext2 > device_context);
SpriteBatchMesh(ID3D11Device2 *device, ID3D11DeviceContext2 *device_context);

/**
Destructs this sprite batch mesh.
Expand Down
2 changes: 1 addition & 1 deletion MAGE/MAGE/src/mesh/static_mesh.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
namespace mage {

HRESULT StaticMesh::SetupIndexBuffer(const uint32_t *indices, size_t nb_indices) {
const HRESULT result_index_buffer = CreateIndexBuffer< uint32_t >(*m_device.Get(), m_index_buffer.ReleaseAndGetAddressOf(), indices, nb_indices);
const HRESULT result_index_buffer = CreateIndexBuffer< uint32_t >(m_device, m_index_buffer.ReleaseAndGetAddressOf(), indices, nb_indices);
if (FAILED(result_index_buffer)) {
Error("Index buffer creation failed: %08X.", result_index_buffer);
return result_index_buffer;
Expand Down
4 changes: 2 additions & 2 deletions MAGE/MAGE/src/mesh/static_mesh.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ namespace mage {
The number of indices.
*/
template < typename VertexT >
StaticMesh(ComPtr< ID3D11Device2 > device, ComPtr< ID3D11DeviceContext2 > device_context,
StaticMesh(ID3D11Device2 *device, ID3D11DeviceContext2 *device_context,
const VertexT *vertices, size_t nb_vertices,
const uint32_t *indices, size_t nb_indices);

Expand All @@ -64,7 +64,7 @@ namespace mage {
A reference to a vector of indices.
*/
template < typename VertexT >
StaticMesh(ComPtr< ID3D11Device2 > device, ComPtr< ID3D11DeviceContext2 > device_context,
StaticMesh(ID3D11Device2 *device, ID3D11DeviceContext2 *device_context,
const vector< VertexT > &vertices, const vector< uint32_t > &indices)
: StaticMesh(device, device_context,
vertices.data(), vertices.size(),
Expand Down
4 changes: 2 additions & 2 deletions MAGE/MAGE/src/mesh/static_mesh.tpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
namespace mage {

template < typename VertexT >
StaticMesh::StaticMesh(ComPtr< ID3D11Device2 > device, ComPtr< ID3D11DeviceContext2 > device_context,
StaticMesh::StaticMesh(ID3D11Device2 *device, ID3D11DeviceContext2 *device_context,
const VertexT *vertices, size_t nb_vertices, const uint32_t *indices, size_t nb_indices)
: Mesh(device, device_context, sizeof(VertexT)) {

Expand All @@ -35,7 +35,7 @@ namespace mage {

template < typename VertexT >
HRESULT StaticMesh::SetupVertexBuffer(const VertexT *vertices, size_t nb_vertices) {
const HRESULT result_vertex_buffer = CreateStaticVertexBuffer< VertexT >(*m_device.Get(), m_vertex_buffer.ReleaseAndGetAddressOf(), vertices, nb_vertices);
const HRESULT result_vertex_buffer = CreateStaticVertexBuffer< VertexT >(m_device, m_vertex_buffer.ReleaseAndGetAddressOf(), vertices, nb_vertices);
if (FAILED(result_vertex_buffer)) {
Error("Vertex buffer creation failed: %08X.", result_vertex_buffer);
return result_vertex_buffer;
Expand Down
6 changes: 2 additions & 4 deletions MAGE/MAGE/src/model/model.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,7 @@ namespace mage {
m_material(std::move(submodel.m_material)) {
submodel.m_material = nullptr;
}
virtual ~SubModel() {
delete m_material;
}
virtual ~SubModel() = default;

virtual SubModel *Clone() const {
return new SubModel(*this);
Expand Down Expand Up @@ -126,7 +124,7 @@ namespace mage {

const size_t m_start_index;
const size_t m_nb_indices;
ShadedMaterial *m_material;
UniquePtr< ShadedMaterial > m_material;
};
}

Expand Down
4 changes: 2 additions & 2 deletions MAGE/MAGE/src/model/model_descriptor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
//-----------------------------------------------------------------------------
namespace mage {

ComPtr< ID3D11Device2 > GetModelRenderingDevice() {
ID3D11Device2 *GetModelRenderingDevice() {
return GetRenderingDevice();
}
ComPtr< ID3D11DeviceContext2 > GetModelRenderingDeviceContext() {
ID3D11DeviceContext2 *GetModelRenderingDeviceContext() {
return GetRenderingDeviceContext();
}
ResourceFactory &GetModelResourceFactory() {
Expand Down
2 changes: 1 addition & 1 deletion MAGE/MAGE/src/model/model_descriptor.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ namespace mage {
public:

template < typename VertexT >
ModelDescriptor(ComPtr< ID3D11Device2 > device, ComPtr< ID3D11DeviceContext2 > device_context,
ModelDescriptor(ID3D11Device2 *device, ID3D11DeviceContext2 *device_context,
const wstring &fname, const MeshDescriptor< VertexT > &desc = MeshDescriptor< VertexT >());
virtual ~ModelDescriptor() {
m_materials.clear();
Expand Down
10 changes: 5 additions & 5 deletions MAGE/MAGE/src/model/model_descriptor.tpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
namespace mage {

template < typename VertexT >
ModelDescriptor::ModelDescriptor(ComPtr< ID3D11Device2 > device, ComPtr< ID3D11DeviceContext2 > device_context,
ModelDescriptor::ModelDescriptor(ID3D11Device2 *device, ID3D11DeviceContext2 *device_context,
const wstring &fname, const MeshDescriptor< VertexT > &desc)
: FileResource(fname) {

Expand All @@ -24,14 +24,14 @@ namespace mage {

// Forward declarations
class ResourceFactory;
ComPtr< ID3D11Device2 > GetModelRenderingDevice();
ComPtr< ID3D11DeviceContext2 > GetModelRenderingDeviceContext();
ID3D11Device2 *GetModelRenderingDevice();
ID3D11DeviceContext2 *GetModelRenderingDeviceContext();
ResourceFactory &GetModelResourceFactory();

template < typename VertexT >
SharedPtr< ModelDescriptor > CreateModelDescriptor(const wstring &fname, const MeshDescriptor< VertexT > &desc) {
ComPtr< ID3D11Device2 > device = GetModelRenderingDevice();
ComPtr< ID3D11DeviceContext2 > device_context = GetModelRenderingDeviceContext();
ID3D11Device2 *device = GetModelRenderingDevice();
ID3D11DeviceContext2 *device_context = GetModelRenderingDeviceContext();
ResourceFactory &factory = GetModelResourceFactory();
return factory.CreateModelDescriptor(device, device_context, fname, desc);
}
Expand Down
4 changes: 2 additions & 2 deletions MAGE/MAGE/src/rendering/renderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -243,8 +243,8 @@ namespace mage {
}

void Renderer::SetupRenderingState() {
m_rendering_state_cache = SharedPtr< RenderingStateCache >(new RenderingStateCache(m_device2));
m_rendering_state = make_unique< RenderingState >(m_device2, m_device_context2, m_rendering_state_cache);
m_rendering_state_cache = make_unique< RenderingStateCache >(m_device2.Get());
m_rendering_state = make_unique< RenderingState >(m_device2.Get(), m_device_context2.Get(), m_rendering_state_cache.get());
m_rendering_state->SetDefaultRenderingState3D();
}

Expand Down
10 changes: 5 additions & 5 deletions MAGE/MAGE/src/rendering/renderer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,17 +76,17 @@ namespace mage {
@return A pointer to the device of this renderer.
*/
ComPtr< ID3D11Device2 > GetDevice() const {
return m_device2;
ID3D11Device2 *GetDevice() const {
return m_device2.Get();
}

/**
Returns the device context of this renderer.
@return A pointer to the device context of this renderer.
*/
ComPtr< ID3D11DeviceContext2 > GetDeviceContext() const {
return m_device_context2;
ID3D11DeviceContext2 *GetDeviceContext() const {
return m_device_context2.Get();
}

/**
Expand Down Expand Up @@ -266,6 +266,6 @@ namespace mage {
ComPtr< ID3D11Texture2D > m_depth_stencil;
ComPtr< ID3D11DepthStencilView > m_depth_stencil_view;
UniquePtr< RenderingState > m_rendering_state;
SharedPtr< RenderingStateCache > m_rendering_state_cache;
UniquePtr< RenderingStateCache > m_rendering_state_cache;
};
}
52 changes: 26 additions & 26 deletions MAGE/MAGE/src/rendering/rendering_factory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace mage {
// Blend states
//-------------------------------------------------------------------------

HRESULT CreateBlendState(ID3D11Device2 &device, ID3D11BlendState **blend_state, D3D11_BLEND src_blend, D3D11_BLEND dest_blend) {
HRESULT CreateBlendState(ID3D11Device2 *device, ID3D11BlendState **blend_state, D3D11_BLEND src_blend, D3D11_BLEND dest_blend) {
D3D11_BLEND_DESC desc;
ZeroMemory(&desc, sizeof(desc));

Expand All @@ -29,26 +29,26 @@ namespace mage {
desc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;
desc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;

return device.CreateBlendState(&desc, blend_state);
return device->CreateBlendState(&desc, blend_state);
}
HRESULT CreateOpaqueBlendState(ID3D11Device2 &device, ID3D11BlendState **blend_state) {
HRESULT CreateOpaqueBlendState(ID3D11Device2 *device, ID3D11BlendState **blend_state) {
return CreateBlendState(device, blend_state, D3D11_BLEND_ONE, D3D11_BLEND_ZERO);
}
HRESULT CreateAlphaBlendState(ID3D11Device2 &device, ID3D11BlendState **blend_state) {
HRESULT CreateAlphaBlendState(ID3D11Device2 *device, ID3D11BlendState **blend_state) {
return CreateBlendState(device, blend_state, D3D11_BLEND_ONE, D3D11_BLEND_INV_SRC_ALPHA);
}
HRESULT CreateAdditiveBlendState(ID3D11Device2 &device, ID3D11BlendState **blend_state) {
HRESULT CreateAdditiveBlendState(ID3D11Device2 *device, ID3D11BlendState **blend_state) {
return CreateBlendState(device, blend_state, D3D11_BLEND_SRC_ALPHA, D3D11_BLEND_ONE);
}
HRESULT CreateNonPremultipliedBlendState(ID3D11Device2 &device, ID3D11BlendState **blend_state) {
HRESULT CreateNonPremultipliedBlendState(ID3D11Device2 *device, ID3D11BlendState **blend_state) {
return CreateBlendState(device, blend_state, D3D11_BLEND_SRC_ALPHA, D3D11_BLEND_INV_SRC_ALPHA);
}

//-------------------------------------------------------------------------
// Depth stencil states
//-------------------------------------------------------------------------

HRESULT CreateDepthStencilState(ID3D11Device2 &device, ID3D11DepthStencilState **depth_stencil_state, bool enable, bool write_enable) {
HRESULT CreateDepthStencilState(ID3D11Device2 *device, ID3D11DepthStencilState **depth_stencil_state, bool enable, bool write_enable) {
D3D11_DEPTH_STENCIL_DESC desc;
ZeroMemory(&desc, sizeof(desc));

Expand All @@ -67,23 +67,23 @@ namespace mage {

desc.BackFace = desc.FrontFace;

return device.CreateDepthStencilState(&desc, depth_stencil_state);
return device->CreateDepthStencilState(&desc, depth_stencil_state);
}
HRESULT CreateDepthNoneDepthStencilState(ID3D11Device2 &device, ID3D11DepthStencilState **depth_stencil_state) {
HRESULT CreateDepthNoneDepthStencilState(ID3D11Device2 *device, ID3D11DepthStencilState **depth_stencil_state) {
return CreateDepthStencilState(device, depth_stencil_state, false, false);
}
HRESULT CreateDepthDefaultDepthStencilState(ID3D11Device2 &device, ID3D11DepthStencilState **depth_stencil_state) {
HRESULT CreateDepthDefaultDepthStencilState(ID3D11Device2 *device, ID3D11DepthStencilState **depth_stencil_state) {
return CreateDepthStencilState(device, depth_stencil_state, true, true);
}
HRESULT CreateDepthReadDepthStencilState(ID3D11Device2 &device, ID3D11DepthStencilState **depth_stencil_state) {
HRESULT CreateDepthReadDepthStencilState(ID3D11Device2 *device, ID3D11DepthStencilState **depth_stencil_state) {
return CreateDepthStencilState(device, depth_stencil_state, true, false);
}

//-------------------------------------------------------------------------
// Rasterizer states
//-------------------------------------------------------------------------

HRESULT CreateRasterizerState(ID3D11Device2 &device, ID3D11RasterizerState **rasterizer_state, D3D11_CULL_MODE cull_mode, D3D11_FILL_MODE fill_mode) {
HRESULT CreateRasterizerState(ID3D11Device2 *device, ID3D11RasterizerState **rasterizer_state, D3D11_CULL_MODE cull_mode, D3D11_FILL_MODE fill_mode) {
D3D11_RASTERIZER_DESC desc;
ZeroMemory(&desc, sizeof(desc));

Expand All @@ -92,26 +92,26 @@ namespace mage {
desc.DepthClipEnable = true;
desc.MultisampleEnable = true;

return device.CreateRasterizerState(&desc, rasterizer_state);
return device->CreateRasterizerState(&desc, rasterizer_state);
}
HRESULT CreateCullNoneRasterizerState(ID3D11Device2 &device, ID3D11RasterizerState **rasterizer_state) {
HRESULT CreateCullNoneRasterizerState(ID3D11Device2 *device, ID3D11RasterizerState **rasterizer_state) {
return CreateRasterizerState(device, rasterizer_state, D3D11_CULL_NONE, D3D11_FILL_SOLID);
}
HRESULT CreateCullClockwiseRasterizerState(ID3D11Device2 &device, ID3D11RasterizerState **rasterizer_state) {
HRESULT CreateCullClockwiseRasterizerState(ID3D11Device2 *device, ID3D11RasterizerState **rasterizer_state) {
return CreateRasterizerState(device, rasterizer_state, D3D11_CULL_FRONT, D3D11_FILL_SOLID);
}
HRESULT CreateCullCounterClockwiseRasterizerState(ID3D11Device2 &device, ID3D11RasterizerState **rasterizer_state) {
HRESULT CreateCullCounterClockwiseRasterizerState(ID3D11Device2 *device, ID3D11RasterizerState **rasterizer_state) {
return CreateRasterizerState(device, rasterizer_state, D3D11_CULL_BACK, D3D11_FILL_SOLID);
}
HRESULT CreateWireframeRasterizerState(ID3D11Device2 &device, ID3D11RasterizerState **rasterizer_state) {
HRESULT CreateWireframeRasterizerState(ID3D11Device2 *device, ID3D11RasterizerState **rasterizer_state) {
return CreateRasterizerState(device, rasterizer_state, D3D11_CULL_NONE, D3D11_FILL_WIREFRAME);
}

//-------------------------------------------------------------------------
// Sampler states
//-------------------------------------------------------------------------

HRESULT CreateSamplerState(ID3D11Device2 &device, ID3D11SamplerState **sampler_state, D3D11_FILTER filter, D3D11_TEXTURE_ADDRESS_MODE address_mode) {
HRESULT CreateSamplerState(ID3D11Device2 *device, ID3D11SamplerState **sampler_state, D3D11_FILTER filter, D3D11_TEXTURE_ADDRESS_MODE address_mode) {
D3D11_SAMPLER_DESC desc;
ZeroMemory(&desc, sizeof(desc));

Expand All @@ -121,29 +121,29 @@ namespace mage {
desc.AddressV = address_mode;
desc.AddressW = address_mode;

desc.MaxAnisotropy = (device.GetFeatureLevel() > D3D_FEATURE_LEVEL_9_1) ? D3D11_MAX_MAXANISOTROPY : 2;
desc.MaxAnisotropy = (device->GetFeatureLevel() > D3D_FEATURE_LEVEL_9_1) ? D3D11_MAX_MAXANISOTROPY : 2;

desc.MaxLOD = D3D11_FLOAT32_MAX;
desc.ComparisonFunc = D3D11_COMPARISON_NEVER;

return device.CreateSamplerState(&desc, sampler_state);
return device->CreateSamplerState(&desc, sampler_state);
}
HRESULT CreatePointWrapSamplerState(ID3D11Device2 &device, ID3D11SamplerState **sampler_state) {
HRESULT CreatePointWrapSamplerState(ID3D11Device2 *device, ID3D11SamplerState **sampler_state) {
return CreateSamplerState(device, sampler_state, D3D11_FILTER_MIN_MAG_MIP_POINT, D3D11_TEXTURE_ADDRESS_WRAP);
}
HRESULT CreatePointClampSamplerState(ID3D11Device2 &device, ID3D11SamplerState **sampler_state) {
HRESULT CreatePointClampSamplerState(ID3D11Device2 *device, ID3D11SamplerState **sampler_state) {
return CreateSamplerState(device, sampler_state, D3D11_FILTER_MIN_MAG_MIP_POINT, D3D11_TEXTURE_ADDRESS_CLAMP);
}
HRESULT CreateLinearWrapSamplerState(ID3D11Device2 &device, ID3D11SamplerState **sampler_state) {
HRESULT CreateLinearWrapSamplerState(ID3D11Device2 *device, ID3D11SamplerState **sampler_state) {
return CreateSamplerState(device, sampler_state, D3D11_FILTER_MIN_MAG_MIP_LINEAR, D3D11_TEXTURE_ADDRESS_WRAP);
}
HRESULT CreateLinearClampSamplerState(ID3D11Device2 &device, ID3D11SamplerState **sampler_state) {
HRESULT CreateLinearClampSamplerState(ID3D11Device2 *device, ID3D11SamplerState **sampler_state) {
return CreateSamplerState(device, sampler_state, D3D11_FILTER_MIN_MAG_MIP_LINEAR, D3D11_TEXTURE_ADDRESS_CLAMP);
}
HRESULT CreateAnisotropicWrapSamplerState(ID3D11Device2 &device, ID3D11SamplerState **sampler_state) {
HRESULT CreateAnisotropicWrapSamplerState(ID3D11Device2 *device, ID3D11SamplerState **sampler_state) {
return CreateSamplerState(device, sampler_state, D3D11_FILTER_ANISOTROPIC, D3D11_TEXTURE_ADDRESS_WRAP);
}
HRESULT CreateAnisotropicClampSamplerState(ID3D11Device2 &device, ID3D11SamplerState **sampler_state) {
HRESULT CreateAnisotropicClampSamplerState(ID3D11Device2 *device, ID3D11SamplerState **sampler_state) {
return CreateSamplerState(device, sampler_state, D3D11_FILTER_ANISOTROPIC, D3D11_TEXTURE_ADDRESS_CLAMP);
}
}
Loading

0 comments on commit f1db42f

Please sign in to comment.