initial commit

This commit is contained in:
Confideo-IOM
2026-07-17 15:30:29 +01:00
commit 7e8ec5a825
416 changed files with 40308 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
#include <iostream>
//#include "../../HydraEngine/Hydra.h"
#include "HydraGame.h"
#include <memory>
#ifdef _WIN32
extern "C" {
// Forces NVIDIA Optimus to activate the dGPU
__declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
// Forces AMD PowerXpress/Enduro to activate the dGPU
__declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}
#endif
int main()
{
HydraGame* game = new HydraGame();
HydraEngine* engine = HydraEngine::GetInstance();
engine->InitialiseGame(game);
engine->Start();
delete game;
return 0;
}
+59
View File
@@ -0,0 +1,59 @@
#include "HydraGame.h"
bool HydraGame::Initialise()
{
// m_angle = 0.01f;
m_sun_light_id = GetEngine()->ActorManager()->CreateActor<HydraDirectionalLightActor>();
GetEngine()->ActorManager()->InitialiseActor(m_sun_light_id);
GetEngine()->ActorManager()->SetOrientation(m_sun_light_id, -0.5f, 0.0f, 0.0f);
GetEngine()->ActorManager()->SetPosition(m_sun_light_id, glm::dvec3(0.0f, 4.0f, 10.0f));
// m_other_light_id = GetEngine()->ActorManager()->CreateActor<HydraDirectionalLightActor>();
// GetEngine()->ActorManager()->InitialiseActor(m_other_light_id);
// GetEngine()->ActorManager()->SetOrientation(m_other_light_id, 0.4f, 0.5f, 0.0f);
// //1.570796327f
// //3.141592654f
m_plane_actor_id = GetEngine()->ActorManager()->CreateActor<HydraPlaneActor>();
GetEngine()->ActorManager()->InitialiseActor(m_plane_actor_id);
GetEngine()->ActorManager()->SetPosition(m_plane_actor_id, glm::dvec3(0, 0, 0));
// m_cube_actor_id = GetEngine()->ActorManager()->CreateActor<HydraPlaneActor>();
// GetEngine()->ActorManager()->InitialiseActor(m_cube_actor_id);
// GetEngine()->ActorManager()->SetPosition(m_cube_actor_id, glm::dvec3(0, -2, 0));
// GetEngine()->ActorManager()->SetRelationship(m_plane_actor_id, m_cube_actor_id);
m_gltf_id = GetEngine()->ActorManager()->LoadActor("c:/Code/HydraV3/Media/AntiqueCamera.glb");
GetEngine()->ActorManager()->InitialiseActor(m_gltf_id);
GetEngine()->ActorManager()->SetPosition(m_gltf_id, glm::dvec3(0, 0, 0));
m_player_actor_id = GetEngine()->ActorManager()->CreateActor<HydraPlayerActor>();
GetEngine()->ActorManager()->InitialiseActor(m_player_actor_id);
GetEngine()->ActorManager()->SetPosition(m_player_actor_id, glm::dvec3(0, 4, 4));
GetEngine()->PossessPlayer(m_player_actor_id);
GetEngine()->Camera()->AttachToActor(m_player_actor_id);
return false;
}
void HydraGame::Update(float delta_t_seconds)
{
if (GetEngine()->KeyPressed(HYDRA_KEY_CODES::HYDRA_KEY_ESCAPE))
{
GetEngine()->Exit();
}
// GetEngine()->ActorManager()->SetOrientation(m_sun_light_id, m_angle, 0.4, 0.0f);
// if(m_angle > (M_PI) - 0.01)
// {
// m_angle = 0.01;
// }
m_angle += m_diff;
GetEngine()->ActorManager()->SetOrientation(m_sun_light_id, -0.2, m_angle, 0);
// GetEngine()->ActorManager()->SetOrientation(m_gltf_id, 0, m_angle, 0);
// GetEngine()->ActorManager()->SetOrientation(m_plane_actor_id, 0, m_angle, 0);
}
+28
View File
@@ -0,0 +1,28 @@
#ifndef HYDRAGAME
#define HYDRAGAME
#include <Hydra.h>
#include <string>
#include <vector>
class HydraGame : public HydraGameProxy
{
private:
HydraID m_plane_actor_id = INVALID_HYDRA_ID;
HydraID m_player_actor_id = INVALID_HYDRA_ID;
HydraID m_cube_actor_id = INVALID_HYDRA_ID;
HydraID m_sun_light_id = INVALID_HYDRA_ID;
HydraID m_other_light_id = INVALID_HYDRA_ID;
HydraID m_gltf_id = INVALID_HYDRA_ID;
float m_time = 0;
float m_angle = 0;
float m_diff = 0.005;
public:
virtual bool Initialise() override;
virtual void Update(float delta_t_seconds) override;
};
#endif /* HYDRAGAME */