Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion assets/materials/16___Default.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=gi_flag
specular_map_name=background_spec
normal_map_name=background_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/Material__25.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=lion
specular_map_name=lion_spec
normal_map_name=lion_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/Material__298.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=background
specular_map_name=background_spec
normal_map_name=background_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/Material__47.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_column_b_diff
specular_map_name=sponza_column_b_spec
normal_map_name=sponza_column_b_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/Material__57.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=vase_plant
specular_map_name=vase_plant_spec
normal_map_name=vase_plant_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/arch.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_arch_diff
specular_map_name=sponza_arch_spec
normal_map_name=sponza_arch_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/bricks.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=spnza_bricks_a_diff
specular_map_name=spnza_bricks_a_spec
normal_map_name=spnza_bricks_a_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/ceiling.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_ceiling_a_diff
specular_map_name=sponza_ceiling_a_spec
normal_map_name=sponza_ceiling_a_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/chain.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=chain_texture
specular_map_name=chain_texture_spec
normal_map_name=chain_texture_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/column_a.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_column_a_diff
specular_map_name=sponza_column_a_spec
normal_map_name=sponza_column_a_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/column_b.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_column_b_diff
specular_map_name=sponza_column_b_spec
normal_map_name=sponza_column_b_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/column_c.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_column_c_diff
specular_map_name=sponza_column_c_spec
normal_map_name=sponza_column_c_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/details.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_details_diff
specular_map_name=sponza_details_spec
normal_map_name=sponza_details_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/fabric_a.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_fabric_diff
specular_map_name=sponza_fabric_spec
normal_map_name=sponza_fabric_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/fabric_c.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_curtain_diff
specular_map_name=sponza_curtain_spec
normal_map_name=sponza_curtain_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/fabric_d.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_fabric_blue_diff
specular_map_name=sponza_fabric_spec
normal_map_name=sponza_fabric_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/fabric_e.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_fabric_green_diff
specular_map_name=sponza_fabric_spec
normal_map_name=sponza_fabric_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/fabric_f.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_curtain_green_diff
specular_map_name=sponza_curtain_spec
normal_map_name=sponza_curtain_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/fabric_g.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_curtain_blue_diff
specular_map_name=sponza_curtain_spec
normal_map_name=sponza_curtain_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/flagpole.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_flagpole_diff
specular_map_name=sponza_flagpole_spec
normal_map_name=sponza_flagpole_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/floor.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_floor_a_diff
specular_map_name=sponza_floor_a_spec
normal_map_name=sponza_floor_a_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/leaf.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_thorn_diff
specular_map_name=sponza_thorn_spec
normal_map_name=sponza_thorn_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
4 changes: 2 additions & 2 deletions assets/materials/random_stones.emt
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ name=random_stones
diffuse_colour=1.0 1.0 1.0 1.0
diffuse_map_name=RandomStones
specular_map_name=RandomStones_spec
shader=Shader.Builtin.Material
shininess=64.0
shader=Shader.Material
shininess=64.0
2 changes: 1 addition & 1 deletion assets/materials/roof.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=sponza_roof_diff
specular_map_name=sponza_roof_spec
normal_map_name=sponza_roof_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
4 changes: 2 additions & 2 deletions assets/materials/seamless.emt
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ name=seamless
diffuse_colour=1.0 1.0 1.0 1.0
diffuse_map_name=seamless
specular_map_name=seamless_spec
shader=Shader.Builtin.Material
shininess=64.0
shader=Shader.Material
shininess=64.0
4 changes: 2 additions & 2 deletions assets/materials/test_material.emt
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ name=test_material
diffuse_colour=1.0 1.0 1.0 1.0
diffuse_map_name=orange_lines_512
specular_map_name=orange_lines_512_spec
shader=Shader.Builtin.Material
shininess=64.0
shader=Shader.Material
shininess=64.0
2 changes: 1 addition & 1 deletion assets/materials/ui_material.emt
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ version=0.1
name=ui_material
diffuse_colour=1.0 1.0 1.0 1.0
diffuse_map_name=sword_parts
shader=Shader.Builtin.UI
shader=Shader.UI
2 changes: 1 addition & 1 deletion assets/materials/vase.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=vase_dif
specular_map_name=vase_spec
normal_map_name=vase_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/vase_hanging.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=vase_hanging
specular_map_name=vase_hanging_spec
normal_map_name=vase_hanging_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
2 changes: 1 addition & 1 deletion assets/materials/vase_round.emt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ diffuse_colour=0.588 0.588 0.588 1.000
diffuse_map_name=vase_round
specular_map_name=vase_round_spec
normal_map_name=vase_round_ddn
shader=Shader.Builtin.Material
shader=Shader.Material
shininess=1.500000
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version=1.0
name=Shader.Builtin.Colour3DShader
name=Shader.Colour3DShader
stages=vertex,fragment
stagefiles=shaders/Builtin.Colour3DShader.vert.spv,shaders/Builtin.Colour3DShader.frag.spv
stagefiles=shaders/Colour3DShader.vert.spv,shaders/Colour3DShader.frag.spv
topology=line_list
depth_test=1
depth_write=1
Expand All @@ -13,4 +13,4 @@ attribute=vec4,in_colour
# NOTE: For scope: 0=global, 1=instance, 2=local
uniform=mat4,0,projection
uniform=mat4,0,view
uniform=mat4,2,model
uniform=mat4,2,model
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version=1.0
name=Shader.Builtin.Material
name=Shader.Material
stages=vertex,fragment
stagefiles=shaders/Builtin.MaterialShader.vert.spv,shaders/Builtin.MaterialShader.frag.spv
stagefiles=shaders/MaterialShader.vert.spv,shaders/MaterialShader.frag.spv
depth_test=1
depth_write=1

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
version=1.0
name=Shader.Builtin.Skybox
name=Shader.Skybox
cull_mode=front
stages=vertex,fragment
stagefiles=shaders/Builtin.SkyboxShader.vert.spv,shaders/Builtin.SkyboxShader.frag.spv
stagefiles=shaders/SkyboxShader.vert.spv,shaders/SkyboxShader.frag.spv
depth_test=0
depth_write=0

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version=1.0
name=Shader.Builtin.UI
name=Shader.UI
stages=vertex,fragment
stagefiles=shaders/Builtin.UIShader.vert.spv,shaders/Builtin.UIShader.frag.spv
stagefiles=shaders/UIShader.vert.spv,shaders/UIShader.frag.spv
depth_test=0
depth_write=0

Expand All @@ -15,4 +15,4 @@ uniform=mat4,0,projection
uniform=mat4,0,view
uniform=vec4,1,diffuse_colour
uniform=samp,1,diffuse_texture
uniform=mat4,2,model
uniform=mat4,2,model
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion compile_commands.json
4 changes: 4 additions & 0 deletions cpp.hint
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Hint files help the Visual Studio IDE interpret Visual C++ identifiers
// such as names of functions and macros.
// For more information see https://go.microsoft.com/fwlink/?linkid=865984
#define ENUM_CLASS_OPERATORS(e) inline e operator& (e a, e b) { return static_cast<e>(static_cast<int>(a) & static_cast<int>(b)); } inline e& operator&= (e& a, e b) { a = a & b; return a; }; inline e operator| (e a, e b) { return static_cast<e>(static_cast<int>(a) | static_cast<int>(b)); } inline e& operator|= (e& a, e b) { a = a | b; return a; }; inline e operator~ (e a) { return static_cast<e>(~static_cast<int>(a));} inline bool isSet(e val, e flag) { return (val & flag) != static_cast<e>(0); } inline void flipBit(e& val, e flag) { val = isSet(val, flag) ? (val & (~flag)) : (val | flag); }
1 change: 1 addition & 0 deletions engine/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ set(HEADERS
contianers/*.h
scenes/*.h
interfaces/*.h
renderer/passes/*.h
)

add_library(engine SHARED ${SOURCES})
Expand Down
76 changes: 34 additions & 42 deletions engine/application/application.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,59 +2,51 @@
#include "pch.h"
#include "keymap.h"
#include "engine/engine_configuration.h"
#include "renderer/camera.h"

namespace egkr
{
class engine;
struct render_packet;
class engine;
struct render_packet;

struct application_data : public frame_geometry_data
{
class application
{
public:
using unique_ptr = std::unique_ptr<application>;
API explicit application(engine_configuration configuration);

};
API virtual ~application() = default;

class application
{
public:
using unique_ptr = std::unique_ptr<application>;
API explicit application(engine_configuration configuration);
virtual bool init() = 0;
virtual void update(const frame_data& frame_data) = 0;
virtual void prepare_frame(const frame_data& frame_data) = 0;
virtual void render_frame(egkr::frame_data& frame_data) = 0;
virtual bool resize(uint32_t width, uint32_t height) = 0;

API virtual ~application() = default;
virtual bool boot() = 0;
virtual bool shutdown() = 0;

virtual bool init() = 0;
virtual void update(const frame_data& frame_data) = 0;
virtual void prepare_render_packet(render_packet* render_packet, const frame_data& frame_data) = 0;
virtual void render(egkr::render_packet* render_packet, egkr::frame_data& frame_data) = 0;
virtual bool resize(uint32_t width, uint32_t height) = 0;
[[nodiscard]] const auto& get_engine_configuration() const { return engine_configuration_; }
[[nodiscard]] const auto& get_font_system_configuration() const { return font_system_configuration_; }
[[nodiscard]] const auto& get_camera() const { return camera_; }

virtual bool boot() = 0;
virtual bool shutdown() = 0;
[[nodiscard]] const auto& get_console_keymap() const { return console_keymap; }
[[nodiscard]] auto& get_console_keymap() { return console_keymap; }

[[nodiscard]] const auto& get_engine_configuration() const { return engine_configuration_; }
[[nodiscard]] const auto& get_font_system_configuration() const { return font_system_configuration_; }
[[nodiscard]] const auto& get_render_view_configuration() const { return render_view_configuration_; }
[[nodiscard]] const auto& get_camera() const { return camera_; }
void set_engine(engine* engine);
protected:
[[nodiscard]] auto* get_engine() const { return engine_; }
font_system::configuration font_system_configuration_{};

[[nodiscard]] const auto& get_console_keymap() const { return console_keymap; }
[[nodiscard]] auto& get_console_keymap() { return console_keymap; }
engine* engine_;
uint32_t width_{};
uint32_t height_{};

void set_engine(engine* engine);
protected:
[[nodiscard]] auto* get_engine() const { return engine_;}
font_system::configuration font_system_configuration_{};
egkr::vector<render_view::configuration> render_view_configuration_{};
egkr::camera::shared_ptr camera_;
keymap console_keymap;
private:
engine_configuration engine_configuration_{};
};

engine* engine_;
uint32_t width_{};
uint32_t height_{};

egkr::camera::shared_ptr camera_{};
keymap console_keymap{};

private:

engine_configuration engine_configuration_{};
};

static application::unique_ptr application_{};
static application::unique_ptr application_{};
}
Loading
Loading