From 41eafc716e57ea63a730afead413cc5631650bb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Wiesner?= Date: Sat, 14 Mar 2020 17:32:26 +0100 Subject: [PATCH] =?UTF-8?q?STL=20bet=C3=B6lt=C5=91=20hozz=C3=A1=C3=ADrva?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 2 +- DXWindow.cpp | 71 ++++++------------------ DXWindow.h | 13 +---- Geometry.h | 89 +++++++++++++++++++++++++++--- RUNTIME/assets/crate.stl | Bin 0 -> 442284 bytes RUNTIME/shaders/basic_shader.hlsl | 7 ++- Vertex.cpp | 20 +++++++ Vertex.h | 26 +++++++++ main.cpp | 26 ++++----- 9 files changed, 165 insertions(+), 89 deletions(-) create mode 100644 RUNTIME/assets/crate.stl create mode 100644 Vertex.cpp create mode 100644 Vertex.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 01c7ea1..da49d69 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,6 @@ project(WinApi) set(CMAKE_CXX_STANDARD 14) -add_executable(WinApi WIN32 main.cpp d3dx12.h DXWindow.cpp DXWindow.h Logger.cpp Logger.h utils.cpp utils.h Window.cpp Window.h Timer.cpp Timer.h IDrawable.h Geometry.h EventHandler.cpp EventHandler.h) +add_executable(WinApi WIN32 main.cpp d3dx12.h DXWindow.cpp DXWindow.h Logger.cpp Logger.h utils.cpp utils.h Window.cpp Window.h Timer.cpp Timer.h IDrawable.h Geometry.h EventHandler.cpp EventHandler.h Vertex.cpp Vertex.h) target_link_libraries(WinApi d3d12.lib dxgi.lib dxguid.lib d3dcompiler.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib) \ No newline at end of file diff --git a/DXWindow.cpp b/DXWindow.cpp index 2a111eb..78e3cd5 100644 --- a/DXWindow.cpp +++ b/DXWindow.cpp @@ -9,6 +9,8 @@ namespace eg3d { { init(); initDrawObjects(); + + rotAngle = 0.0f; } @@ -291,7 +293,6 @@ namespace eg3d { mCommandList->SetGraphicsRootConstantBufferView(0, cbResource->GetGPUVirtualAddress()); ////////// OBJEKTUMOK KIRAJZOLÁSA - //drawObject(); for (unsigned i = 0; i < drawables.size(); i++) { @@ -351,64 +352,22 @@ namespace eg3d { void DXWindow::initDrawObjects() { - initVertices(); setupInputLayout(); - createBuffers(); - uploadBuffers(); loadShaders(); createConstantBuffers(); createRootSignature(); createPSO(); } - - void DXWindow::initVertices() - { - vertices = { - { -0.5f, -0.5f, 0.1f, 1.0f, 0.0f, 0.0f }, - { 0.5f, -0.5f, 0.1f , 0.0f, 1.0f, 0.0f }, - { 0.0f, 0.98f, 0.1f, 0.0f, 0.0f, 1.0f }, - }; - - indices = { 0, 2, 1 }; - } - void DXWindow::setupInputLayout() { inputElements = { {"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0}, - {"COLOR", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0} + //{"COLOR", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0} // TODO további elemek létrehozása }; } - void DXWindow::createBuffers() - { - // --- vertex buffer létrehozása - vertexBuffer = createBuffer_UH(mDevice, vertices.size() * sizeof(Vertex)); - - vertexBufferView.BufferLocation = vertexBuffer->GetGPUVirtualAddress(); - vertexBufferView.StrideInBytes = sizeof(Vertex); - vertexBufferView.SizeInBytes = vertices.size() * sizeof(Vertex); - - // --- index buffer létrehozása TODO átírás createBuffer_UH() használatával - indexBuffer = createBuffer_UH(mDevice, indices.size() * sizeof(uint32_t)); - - indexBufferView.Format = DXGI_FORMAT_R32_UINT; - indexBufferView.BufferLocation = indexBuffer->GetGPUVirtualAddress(); - indexBufferView.SizeInBytes = indices.size() * sizeof(uint32_t); - } - - - void DXWindow::uploadBuffers() - { - // --- vertex buffer feltöltése - bufferMapCopy(vertexBuffer, vertices.data(), vertices.size() * sizeof(Vertex)); - - // --- index buffer feltöltése - bufferMapCopy(indexBuffer, indices.data(), indices.size() * sizeof(uint32_t)); - } - void DXWindow::createConstantBuffers() { cbResource = createBuffer_UH(mDevice, calc256AlignedSize(sizeof(constantBuffer))); @@ -418,7 +377,19 @@ namespace eg3d { { // transzformáció frissítése //DirectX::XMStoreFloat4x4(&constantBuffer.transformMatrix, DirectX::XMMatrixScaling(2.0, 1.0, 1.0)); - DirectX::XMStoreFloat4x4(&constantBuffer.transformMatrix, DirectX::XMMatrixRotationZ(XM_PI)); + + rotAngle = rotAngle - 0.01; + if (rotAngle > XM_2PI) + { + rotAngle -= XM_2PI; + } + + float viewHeight = 1.5; + DirectX::XMStoreFloat4x4(&constantBuffer.projMatrix, + //XMMatrixScaling(0.00001, 0.00001, 0.00001) * XMMatrixTranslation(0.0f, 0.0f, -100000.0f) * + DirectX::XMMatrixPerspectiveLH(viewHeight * getAspectRatio(), viewHeight, 0.5, 10)); + + DirectX::XMStoreFloat4x4(&constantBuffer.transformMatrix, DirectX::XMMatrixRotationZ(rotAngle)); bufferMapCopy(cbResource, static_cast(&constantBuffer), sizeof(constantBuffer)); } @@ -454,6 +425,8 @@ namespace eg3d { D3D12_GRAPHICS_PIPELINE_STATE_DESC psoD = {}; psoD.RasterizerState = CD3DX12_RASTERIZER_DESC(D3D12_DEFAULT); + //psoD.RasterizerState.CullMode = D3D12_CULL_MODE_NONE; + //psoD.RasterizerState.FillMode = D3D12_FILL_MODE_WIREFRAME; psoD.BlendState = CD3DX12_BLEND_DESC(D3D12_DEFAULT); psoD.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); psoD.SampleMask = UINT_MAX; @@ -487,12 +460,4 @@ namespace eg3d { } } - void DXWindow::drawObject() - { - mCommandList->IASetVertexBuffers(0, 1, &vertexBufferView); - mCommandList->IASetIndexBuffer(&indexBufferView); - mCommandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST); - - mCommandList->DrawIndexedInstanced(indices.size(), 1, 0, 0, 0); - } } diff --git a/DXWindow.h b/DXWindow.h index eec32f7..17affc1 100644 --- a/DXWindow.h +++ b/DXWindow.h @@ -16,17 +16,13 @@ #include -// Vertex struktúrája -struct Vertex -{ - float x, y, z; - float r, g, b; -}; +#include "Vertex.h" // konstansbuffer struktúrája struct ConstantBuffer { DirectX::XMFLOAT4X4 transformMatrix; + DirectX::XMFLOAT4X4 projMatrix; // vetítési mátrix }; namespace eg3d { @@ -92,18 +88,15 @@ namespace eg3d { ComPtr cbResource; // konstansbuffer DX-objektuma ConstantBuffer constantBuffer; // konstansbuffer // TODO TRANSZFORMÁCIÓS TULAJDONSÁGOK + float rotAngle; // forgatás szöge void initDrawObjects(); // kirajzolandó objektumok inicializálása - void initVertices(); // vertexek inicializálása void setupInputLayout(); // input layout beállítása - void createBuffers(); // bufferek elkészítése, tartalmuk betöltése - void uploadBuffers(); // bufferek feltöltése void loadShaders(); // shaderek betöltése void createConstantBuffers(); // konstansbufferek létrehozása void createRootSignature(); // root signature létrehozása void createPSO(); // PSO létrehozása - void drawObject(); // objektum kirajzolása void updateConstantBuffers(); // konstansbufferek frissítése diff --git a/Geometry.h b/Geometry.h index f5da651..400afd7 100644 --- a/Geometry.h +++ b/Geometry.h @@ -3,17 +3,25 @@ #include #include #include "IDrawable.h" +#include "Vertex.h" #include +using namespace DirectX; + namespace eg3d { - template + struct STLTriangle { + XMFLOAT3 normal; + XMFLOAT3 v1, v2, v3; + uint16_t attributeByteCount; + }; + class Geometry : public IDrawable { private: ComPtr mDevice; // device - std::vector mVertices; // vertexek + std::vector mVertices; // vertexek std::vector mIndices; // indexek std::mutex mModifMtx; // ... @@ -42,10 +50,10 @@ namespace eg3d { } // vertexek beállítása - void setVertices(const std::vector &vertices) { + void setVertices(const std::vector &vertices) { mVertices = vertices; - size_t bufferSize = mVertices.size() * sizeof(vertex_t); // buffer mérete + size_t bufferSize = mVertices.size() * sizeof(Vertex); // buffer mérete mVertexBuffer.Reset(); // buffer törlése mVertexBuffer = createBuffer_UH(mDevice, bufferSize); // buffer létrehozása @@ -53,12 +61,12 @@ namespace eg3d { // vertex buffer view beállítása mVertexBufferView.BufferLocation = mVertexBuffer->GetGPUVirtualAddress(); - mVertexBufferView.StrideInBytes = sizeof(vertex_t); + mVertexBufferView.StrideInBytes = sizeof(Vertex); mVertexBufferView.SizeInBytes = bufferSize; } // vertexek lekérése - std::vector getVertices() const { + std::vector getVertices() const { return mVertices; } @@ -109,9 +117,74 @@ namespace eg3d { setupInputAssembler(commandList); // input assembler beállítása commandList->DrawIndexedInstanced(mIndices.size(), 1, 0, 0, 0); // rajzolás } + + // két geometria egyesítése + Geometry& operator+=(const Geometry& other) + { + std::vector vertices = mVertices; + vertices.insert(vertices.end(), other.mVertices.begin(), other.mVertices.end()); + + uint32_t offset = mIndices.size() - 1; + std::vector indices = mIndices; + indices.insert(indices.end(), other.mIndices.begin(), other.mIndices.end()); + + // indexek megváltozatása offsettel + for (uint32_t i = offset + 1; i < indices.size(); i++) + { + indices[i] += offset; + } + + // bufferek újrafoglalása a videokártyán + setVertices(vertices); + setIndices(indices); + + return *this; + } + + // bináris STL fájl betöltése + void loadBinarySTL(const std::string& fileName) { + auto inFile = std::ifstream(fileName, std::ios::in | std::ios::binary); // bináris fájl megnyitása olvasásra + + if (!inFile.is_open()) { // megnézzük, hogy sikerült-e megnyitni a fájlt + LOG("Failed to open file: '" + fileName + "'! STL geometry loading failed!"); + return; + } + + // vertexek és indexek + std::vector vertices; + std::vector indices; + + uint32_t triN; // háromszögek száma + + inFile.seekg(80, std::ios::beg); // fejléc átugrása + inFile.read((char *)&triN, sizeof(triN)); // háromszögek számának kiolvasása + + // vertexek kiolvasása + for (uint32_t i = 0; i < triN; i++) { + STLTriangle triangle; + inFile.read((char *)&triangle, sizeof(triangle)); // egy háromszög betöltése + + vertices.push_back(triangle.v1); + vertices.push_back(triangle.v2); + vertices.push_back(triangle.v3); + + // indexek vektorának feltöltése + uint32_t firstIndex = 3 * i; + indices.push_back(firstIndex); + indices.push_back(firstIndex + 1); + indices.push_back(firstIndex + 2); + } + + inFile.close(); + + setVertices(vertices); + setIndices(indices); + + LOG("Successful geometry loading from file '" + fileName + "' of " + std::to_string(triN) + " triangles."); + } }; + // geometriatároló típusa - template - using GeometryPool = std::vector>>; + using GeometryPool = std::vector>; } diff --git a/RUNTIME/assets/crate.stl b/RUNTIME/assets/crate.stl new file mode 100644 index 0000000000000000000000000000000000000000..e33ec1fbb0f31440bcb26b1f448f2acd20a94d58 GIT binary patch literal 442284 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 N)NVN^q;l*_{vVgmdRzbi literal 0 HcmV?d00001 diff --git a/RUNTIME/shaders/basic_shader.hlsl b/RUNTIME/shaders/basic_shader.hlsl index 67c3e83..06c9fdc 100644 --- a/RUNTIME/shaders/basic_shader.hlsl +++ b/RUNTIME/shaders/basic_shader.hlsl @@ -1,7 +1,7 @@ struct VSInput // vertex shader bemeneti struktúra { float3 position_D : POSITION; - float3 color : COLOR; + //float3 color : COLOR; }; struct VSOutput // vertex shader kimeneti struktúra @@ -13,14 +13,15 @@ struct VSOutput // vertex shader kimeneti strukt cbuffer CBuf : register(b0) { float4x4 transformMatrix; + float4x4 projMatrix; }; VSOutput vs_main(VSInput input) { VSOutput output; // vertex shader kimenete - output.position_H = mul(transformMatrix, float4(input.position_D, 1.0)); - output.color = input.color; + output.position_H = mul(projMatrix, mul(transformMatrix, float4(input.position_D, 1.0))); + output.color = float3(1.0, 1.0, 1.0); return output; } diff --git a/Vertex.cpp b/Vertex.cpp new file mode 100644 index 0000000..3f803c8 --- /dev/null +++ b/Vertex.cpp @@ -0,0 +1,20 @@ +// +// Created by Epagris on 2020. 03. 14.. +// + +#include "Vertex.h" + +eg3d::Vertex::Vertex() : x(0.0f), y(0.0f), z(0.0f) {} + +eg3d::Vertex::Vertex(const DirectX::XMFLOAT3 xmf3) : x(xmf3.x), y(xmf3.y), z(xmf3.z) {} + +eg3d::Vertex::Vertex(std::initializer_list initList) { + if (initList.size() >= 3) { + const float *pParams = initList.begin(); + + // paraméterek elkérése + x = pParams[0]; + y = pParams[1]; + z = pParams[2]; + } +} \ No newline at end of file diff --git a/Vertex.h b/Vertex.h new file mode 100644 index 0000000..41f06a1 --- /dev/null +++ b/Vertex.h @@ -0,0 +1,26 @@ +// +// Created by Epagris on 2020. 03. 14.. +// + +#ifndef VERTEX +#define VERTEX + +#include +#include + +namespace eg3d { + + struct Vertex { + public: + float x, y, z; // koordináták + // float nx, ny, nz; // normálvektorok TODO + + Vertex(); // default konstruktor + Vertex(const DirectX::XMFLOAT3 xmf3); // betöltés XMFLOAT3-ból + Vertex(std::initializer_list initList); // konstruktor struktúraszerű inicializációval + }; + +} + + +#endif //VERTEX diff --git a/main.cpp b/main.cpp index 6bf69e4..3901dd7 100644 --- a/main.cpp +++ b/main.cpp @@ -10,6 +10,7 @@ #include "Timer.h" #include "Geometry.h" +#include "not_used/vertex_types.h" // FPS-mĂ©rĂ©s size_t gFrames = 0; @@ -38,31 +39,28 @@ int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszA gTmr1s.reg(timerCBData); std::vector vertices = { // vertexek - { -0.5f, -0.5f, 0.1f, 1.0f, 0.0f, 0.0f }, - { 0.5f, -0.5f, 0.1f , 0.0f, 1.0f, 0.0f }, - { 0.0f, 0.98f, 0.1f, 0.0f, 0.0f, 1.0f }, + { -0.5f, -0.5f, 1.0f }, + { 0.5f, -0.5f, 1.0f }, + { 0.0f, 0.98f, 1.0f }, }; std::vector indices = { 0, 2, 1 }; // indexek - auto pGeo = std::shared_ptr>(new Geometry(win.getDevice())); + auto pGeo = std::shared_ptr(new Geometry(win.getDevice())); pGeo->setVertices(vertices); pGeo->setIndices(indices); + + auto pGeo2 = std::shared_ptr(new Geometry(win.getDevice())); + pGeo2->loadBinarySTL("assets/crate.stl"); + + //drawables.push_back(pGeo2); + //(*pGeo) += (*pGeo2); DrawablePool drawables; // geometriák halmaza drawables.push_back(pGeo); // pGeo geometria hozzáadása - vertices = { // vertexek - { -0.3f, -0.5f, 0.05f, 1.0f, 0.2f, 0.0f }, - { 0.3f, -0.5f, 0.05f , 0.2f, 1.0f, 0.0f }, - { 0.0f, 0.7f, 0.05f, 0.0f, 0.2f, 1.0f }, - }; - auto pGeo2 = std::shared_ptr>(new Geometry(win.getDevice())); - pGeo2->setVertices(vertices); - pGeo2->setIndices(indices); - - drawables.push_back(pGeo2); + // ------------------------------------ MSG msg = { };