From ff41e83dfba264527a71e4589139cfc3f24f61e4 Mon Sep 17 00:00:00 2001 From: Yasir Nacak Date: Mon, 8 Oct 2018 00:09:22 +0300 Subject: [PATCH] font rendering --- .gitignore | 1 + .../typeface/argentum_sans_bold_16.spritefont | Bin 0 -> 26120 bytes .../argentum_sans_regular_16.spritefont | Bin 0 -> 26120 bytes project/dx11engine.vcxproj | 24 ++++++++++++++++++ project/dx11engine.vcxproj.filters | 11 ++++++++ src/graphics/Graphics.cpp | 11 ++++++-- src/graphics/Graphics.h | 5 ++++ 7 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 data/typeface/argentum_sans_bold_16.spritefont create mode 100644 data/typeface/argentum_sans_regular_16.spritefont diff --git a/.gitignore b/.gitignore index dfd27e3..5ec9c6b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ *.tlog *.idb *.exe +*.cso # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs diff --git a/data/typeface/argentum_sans_bold_16.spritefont b/data/typeface/argentum_sans_bold_16.spritefont new file mode 100644 index 0000000000000000000000000000000000000000..94cf9bf2a73ee2c5f8e1825ad55e4cca5ca2efd9 GIT binary patch literal 26120 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 P{o)Puck1`1U&sGHY}n*r literal 0 HcmV?d00001 diff --git a/data/typeface/argentum_sans_regular_16.spritefont b/data/typeface/argentum_sans_regular_16.spritefont new file mode 100644 index 0000000000000000000000000000000000000000..f8004f0eea6e933630b6e805ef4681693a40b88f GIT binary patch literal 26120 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 N|1|lJ4X_;F{{gA$8D0PY literal 0 HcmV?d00001 diff --git a/project/dx11engine.vcxproj b/project/dx11engine.vcxproj index 6b3e4ac..27d3ef2 100644 --- a/project/dx11engine.vcxproj +++ b/project/dx11engine.vcxproj @@ -110,6 +110,9 @@ true Windows + + $(SolutionDir)data\shader\%(Filename).cso + @@ -122,6 +125,9 @@ true Windows + + $(SolutionDir)data\shader\%(Filename).cso + @@ -138,6 +144,9 @@ true Windows + + $(SolutionDir)data\shader\%(Filename).cso + @@ -154,6 +163,9 @@ true Windows + + $(SolutionDir)data\shader\%(Filename).cso + @@ -195,6 +207,10 @@ 5.0 Pixel 5.0 + $(SolutionDir)data\shader\%(Filename).cso + $(SolutionDir)data\shader\%(Filename).cso + $(SolutionDir)data\shader\%(Filename).cso + $(SolutionDir)data\shader\%(Filename).cso Vertex @@ -205,8 +221,16 @@ 5.0 Vertex 5.0 + $(SolutionDir)data\shader\%(Filename).cso + $(SolutionDir)data\shader\%(Filename).cso + $(SolutionDir)data\shader\%(Filename).cso + $(SolutionDir)data\shader\%(Filename).cso + + + + diff --git a/project/dx11engine.vcxproj.filters b/project/dx11engine.vcxproj.filters index 4a703d0..a1f5dce 100644 --- a/project/dx11engine.vcxproj.filters +++ b/project/dx11engine.vcxproj.filters @@ -19,6 +19,9 @@ {9174d02c-d37a-4928-8e5d-17fa19a66cf2} + + {f8c1fb49-3d9f-47ab-9ad5-32cc9f13b610} + @@ -110,4 +113,12 @@ data\shader + + + data\typeface + + + data\typeface + + \ No newline at end of file diff --git a/src/graphics/Graphics.cpp b/src/graphics/Graphics.cpp index 24add60..97ade4e 100644 --- a/src/graphics/Graphics.cpp +++ b/src/graphics/Graphics.cpp @@ -157,6 +157,9 @@ namespace s3d { namespace graphics { return false; } + _spriteBatch = std::make_unique(this->_deviceContext.Get()); + _spriteFont = std::make_unique(this->_device.Get(), L"data\\typeface\\argentum_sans_regular_16.spritefont"); + return true; } @@ -183,6 +186,10 @@ namespace s3d { namespace graphics { this->_deviceContext->IASetVertexBuffers(0, 1, _vertexBuffer2.GetAddressOf(), &stride, &offset); this->_deviceContext->Draw(3, 0); + _spriteBatch->Begin(); + _spriteFont->DrawString(_spriteBatch.get(), L"dx11engine", DirectX::XMFLOAT2(0, 0), DirectX::Colors::Aquamarine, 0.0f, DirectX::XMFLOAT2(0.0f, 0.0f), DirectX::XMFLOAT2(1.0f, 1.0f)); + _spriteBatch->End(); + this->_swapChain->Present(1, NULL); } @@ -194,10 +201,10 @@ namespace s3d { namespace graphics { {"COLOR", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0} }; - if(!_vertexShader.Initialize(this->_device, L"vertexshader.cso", layout, ARRAYSIZE(layout))) + if(!_vertexShader.Initialize(this->_device, L"data\\shader\\vertexshader.cso", layout, ARRAYSIZE(layout))) return false; - if (!_pixelShader.Initialize(this->_device, L"pixelshader.cso")) + if (!_pixelShader.Initialize(this->_device, L"data\\shader\\pixelshader.cso")) return false; // this wont stay like that diff --git a/src/graphics/Graphics.h b/src/graphics/Graphics.h index fb6b86e..fc3c6f5 100644 --- a/src/graphics/Graphics.h +++ b/src/graphics/Graphics.h @@ -2,6 +2,8 @@ #include "AdapterReader.h" #include "Shader.h" #include "Vertex.h" +#include +#include using Microsoft::WRL::ComPtr; @@ -32,5 +34,8 @@ namespace s3d { namespace graphics { ComPtr _depthStencilState; ComPtr _rasterizerState; + + std::unique_ptr _spriteBatch; + std::unique_ptr _spriteFont; }; } } \ No newline at end of file