diff --git a/GDP/D3D9/D3D9.vcxproj b/GDP/D3D9/D3D9.vcxproj
index ba356b8..0bfee2a 100644
--- a/GDP/D3D9/D3D9.vcxproj
+++ b/GDP/D3D9/D3D9.vcxproj
@@ -194,6 +194,7 @@
+
diff --git a/GDP/D3D9/D3D9.vcxproj.filters b/GDP/D3D9/D3D9.vcxproj.filters
index 8b4a2f3..a081ecc 100644
--- a/GDP/D3D9/D3D9.vcxproj.filters
+++ b/GDP/D3D9/D3D9.vcxproj.filters
@@ -68,5 +68,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file
diff --git a/GDP/D3D9/Mesh.cpp b/GDP/D3D9/Mesh.cpp
index 443ec79..2c47363 100644
--- a/GDP/D3D9/Mesh.cpp
+++ b/GDP/D3D9/Mesh.cpp
@@ -1,5 +1,6 @@
#include "Mesh.h"
#include "Utilities.h"
+#include "Vertex.h"
UINT Mesh::init(IDirect3DDevice9* pD3DDevice)
{
@@ -30,6 +31,21 @@ void Mesh::deInit()
UINT Mesh::createVertexBuffer(IDirect3DDevice9* pD3DDevice)
{
+ // 1. define mesh structure
+ _vertexCount = 3;
+ _vertexStride = sizeof(Vertex);
+
+ // 2. create vertex buffer WITHOUT data
+ HRESULT hr = pD3DDevice->CreateVertexBuffer(
+ _vertexCount * _vertexStride, // vertex buffer byte length
+ D3DUSAGE_WRITEONLY, // vertex buffer access mode
+ FVF, // FVF - Flexible Vertex Format
+ D3DPOOL_MANAGED, // video memory management
+ &_pVertexBuffer,
+ nullptr // not used anymore
+ );
+
+ // 3. fill vertex buffer with data
return 0;
}
diff --git a/GDP/D3D9/Vertex.h b/GDP/D3D9/Vertex.h
new file mode 100644
index 0000000..2b87067
--- /dev/null
+++ b/GDP/D3D9/Vertex.h
@@ -0,0 +1,14 @@
+#pragma once
+#include
+
+#define FVF D3DFVF_XYZ
+
+struct Vertex
+{
+ FLOAT x;
+ FLOAT y;
+ FLOAT z;
+
+ Vertex() : x(0.0f), y(0.0f), z(0.0f) {}
+ Vertex(FLOAT _x, FLOAT _y, FLOAT _z) : x(_x), y(_y), z(_z) {}
+};
\ No newline at end of file