Commit db7a5eb3 authored by Administrator's avatar Administrator
Browse files

added lines and rectangle as drawable; added shader by fixed color; used...

added lines and rectangle as drawable; added shader by fixed color; used template for VertexBuffer; added icon for app
parent 8b194540
#pragma once #pragma once
#include "VertexBuffer.h" #include "VertexBuffer.h"
VertexBuffer::VertexBuffer(Graphics& gfx, const std::vector<StructVertex>& vertices, Logger& logger) //VertexBuffer::VertexBuffer(Graphics& gfx, const std::vector<StructVertex>& vertices, Logger& logger)
: // :
stride(sizeof(StructVertex)) // stride(sizeof(StructVertex))
{ //{
D3D11_BUFFER_DESC bd = {}; // D3D11_BUFFER_DESC bd = {};
bd.BindFlags = D3D11_BIND_VERTEX_BUFFER; // bd.BindFlags = D3D11_BIND_VERTEX_BUFFER;
bd.Usage = D3D11_USAGE_DEFAULT; // bd.Usage = D3D11_USAGE_DEFAULT;
bd.CPUAccessFlags = 0u; // bd.CPUAccessFlags = 0u;
bd.MiscFlags = 0u; // bd.MiscFlags = 0u;
bd.ByteWidth = UINT(sizeof(StructVertex) * vertices.size()); // bd.ByteWidth = UINT(sizeof(StructVertex) * vertices.size());
bd.StructureByteStride = sizeof(StructVertex); // bd.StructureByteStride = sizeof(StructVertex);
D3D11_SUBRESOURCE_DATA sd = {}; // D3D11_SUBRESOURCE_DATA sd = {};
sd.pSysMem = vertices.data(); // sd.pSysMem = vertices.data();
GetDevice(gfx)->CreateBuffer(&bd, &sd, &pVertexBuffer); // GetDevice(gfx)->CreateBuffer(&bd, &sd, &pVertexBuffer);
//
logger.PutLog("VertexBuffer::VertexBuffer", "size of vertices: " + std::to_string(vertices.size())); // logger.PutLog("VertexBuffer::VertexBuffer", "size of vertices: " + std::to_string(vertices.size()));
logger.PutLog("VertexBuffer::VertexBuffer", "size of StructVertex: " + std::to_string(sizeof(StructVertex))); // logger.PutLog("VertexBuffer::VertexBuffer", "size of StructVertex: " + std::to_string(sizeof(StructVertex)));
logger.PutLog("VertexBuffer::VertexBuffer", "ByteWidth: " + std::to_string(bd.ByteWidth)); // logger.PutLog("VertexBuffer::VertexBuffer", "ByteWidth: " + std::to_string(bd.ByteWidth));
logger.PutLog("VertexBuffer::VertexBuffer", "StructureByteStride: " + std::to_string(bd.StructureByteStride)); // logger.PutLog("VertexBuffer::VertexBuffer", "StructureByteStride: " + std::to_string(bd.StructureByteStride));
} //}
void VertexBuffer::Bind(Graphics& gfx, Logger& logger) noexcept void VertexBuffer::Bind(Graphics& gfx, Logger& logger) noexcept
{ {
......
...@@ -8,7 +8,27 @@ ...@@ -8,7 +8,27 @@
class VertexBuffer : public Bindable class VertexBuffer : public Bindable
{ {
public: public:
VertexBuffer(Graphics& gfx, const std::vector<StructVertex>& vertices, Logger& logger); template<class V>
VertexBuffer(Graphics& gfx, const std::vector<V>& vertices, Logger& logger)
:
stride(sizeof(V))
{
D3D11_BUFFER_DESC bd = {};
bd.BindFlags = D3D11_BIND_VERTEX_BUFFER;
bd.Usage = D3D11_USAGE_DEFAULT;
bd.CPUAccessFlags = 0u;
bd.MiscFlags = 0u;
bd.ByteWidth = UINT(sizeof(V) * vertices.size());
bd.StructureByteStride = sizeof(V);
D3D11_SUBRESOURCE_DATA sd = {};
sd.pSysMem = vertices.data();
GetDevice(gfx)->CreateBuffer(&bd, &sd, &pVertexBuffer);
logger.PutLog("VertexBuffer::VertexBuffer", "size of vertices: " + std::to_string(vertices.size()));
logger.PutLog("VertexBuffer::VertexBuffer", "size of StructVertex: " + std::to_string(sizeof(V)));
logger.PutLog("VertexBuffer::VertexBuffer", "ByteWidth: " + std::to_string(bd.ByteWidth));
logger.PutLog("VertexBuffer::VertexBuffer", "StructureByteStride: " + std::to_string(bd.StructureByteStride));
};
void Bind(Graphics& gfx, Logger& logger) noexcept override; void Bind(Graphics& gfx, Logger& logger) noexcept override;
protected: protected:
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include "Ground.h" #include "Ground.h"
#include "Stage.h" #include "Stage.h"
#include "imgui/imgui.h" #include "imgui/imgui.h"
#include "resource.h"
Mouse Window::mouse; Mouse Window::mouse;
...@@ -21,6 +22,8 @@ Window::Window(HWND& hWnd, HINSTANCE& hInstance, int nCmdShow, int x, int y, Log ...@@ -21,6 +22,8 @@ Window::Window(HWND& hWnd, HINSTANCE& hInstance, int nCmdShow, int x, int y, Log
wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)COLOR_WINDOW; wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
wc.lpszClassName = "WindowClass"; wc.lpszClassName = "WindowClass";
wc.hIcon = static_cast<HICON>(LoadImage(hInstance, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 64, 64, 0));
wc.hIconSm = static_cast<HICON>(LoadImage(hInstance, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 16, 16, 0));
// register the window class // register the window class
RegisterClassEx(&wc); RegisterClassEx(&wc);
......
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by PracticeDx.rc
//
#define IDI_ICON1 101
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment