First iteration of mesh assets
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#include <Core/Common/String.h>
|
||||
#include <Graphics/MeshRenderer.h>
|
||||
|
||||
namespace Juliet
|
||||
{
|
||||
JULIET_API extern MeshID LoadMesh(String filename);
|
||||
}
|
||||
@@ -63,9 +63,12 @@ namespace Juliet
|
||||
JULIET_API void SetPointLightIntensity(LightID id, float intensity);
|
||||
JULIET_API void ClearPointLights();
|
||||
|
||||
// Primitives
|
||||
JULIET_API MeshID GetCubePrimitiveMeshID();
|
||||
|
||||
// Utils
|
||||
[[nodiscard]] JULIET_API MeshID AddCube();
|
||||
[[nodiscard]] JULIET_API MeshID AddQuad();
|
||||
[[nodiscard]] JULIET_API MeshID CreateCubePrimitive();
|
||||
[[nodiscard]] JULIET_API MeshID CreateQuadPrimitive();
|
||||
JULIET_API void SetMeshTransform(MeshID id, const Matrix& transform);
|
||||
|
||||
#if ALLOW_SHADER_HOT_RELOAD
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#include <Engine/Asset.h>
|
||||
|
||||
namespace Juliet
|
||||
{
|
||||
MeshID LoadMesh(String filename) {}
|
||||
} // namespace Juliet
|
||||
@@ -32,6 +32,8 @@ namespace Juliet
|
||||
};
|
||||
|
||||
MeshRendererState g_MeshRenderer;
|
||||
|
||||
MeshID CubePrimitiveMeshID = 0;
|
||||
} // namespace
|
||||
|
||||
void InitializeMeshRenderer(NonNullPtr<Arena> arena)
|
||||
@@ -40,6 +42,9 @@ namespace Juliet
|
||||
g_MeshRenderer.Vertices.Create(arena JULIET_DEBUG_PARAM("Vertices"));
|
||||
g_MeshRenderer.Indices.Create(arena JULIET_DEBUG_PARAM("Indices"));
|
||||
g_MeshRenderer.PointLights.Create(arena JULIET_DEBUG_PARAM("PointLights"));
|
||||
|
||||
// Create primitives
|
||||
CubePrimitiveMeshID = AddCube();
|
||||
}
|
||||
|
||||
bool InitializeMeshRendererGraphics(NonNullPtr<GraphicsDevice> device, NonNullPtr<Window> window)
|
||||
@@ -347,7 +352,12 @@ namespace Juliet
|
||||
g_MeshRenderer.PointLights.Clear();
|
||||
}
|
||||
|
||||
MeshID AddCube()
|
||||
MeshID GetCubePrimitiveMeshID()
|
||||
{
|
||||
return CubePrimitiveMeshID;
|
||||
}
|
||||
|
||||
MeshID CreateCubePrimitive()
|
||||
{
|
||||
Mesh result = {};
|
||||
|
||||
@@ -408,7 +418,7 @@ namespace Juliet
|
||||
return id;
|
||||
}
|
||||
|
||||
MeshID AddQuad()
|
||||
MeshID CreateQuadPrimitive()
|
||||
{
|
||||
// Mesh result = {};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user