205 Commits

Author SHA1 Message Date
2e33adf4a9 Minor - Améliore la gestion des entités ImGui - V14.9.0
Optimizes entity management in ImGui by deferring updates to the entity list until necessary.

Changes include:
- Sets the entity list as dirty upon adding or deleting entities to ensure the list is only updated when needed
- Changes the type of entity ID stored in CachedEntity
- Adjusts ImGui window size
2025-10-24 17:47:54 +02:00
c67a805bd7 Minor - Améliore la gestion des entités ImGui - V14.8.0
Optimizes entity list updates in the ImGui interface by caching entity names and IDs.

This reduces unnecessary string operations during rendering and improves performance, especially when dealing with a large number of entities.

The initial ImGui window size has also been reduced for performance reasons.
2025-10-24 12:00:26 +02:00
cb234f64f0 Patch - Config file change - V14.7.1
Config file change
2025-10-16 18:49:09 +02:00
5ab98c9a0a Minor - Ajoute le culling par la lumière du soleil - V14.7.0
Implémente un système de culling basé sur la position de la lumière du soleil pour améliorer les performances du rendu des ombres.

Crée un thread dédié au culling des objets non visibles par la lumière du soleil.
Ajoute une structure de frustum spécifique au culling par la lumière du soleil.
Modifie le RenderComponent pour suivre si un objet est visible par la lumière du soleil.
2025-10-14 18:45:57 +02:00
37bba7866c Patch - Fix White Shadow Map - V14.6.2
Exclut le skysphere du rendu de la shadowmap.
Supprime le code inutile de la caméra principale.
2025-10-14 15:18:21 +02:00
ebbbd181e3 Patch - Simplifie la gestion des erreurs - V14.6.1
Remplace les blocs if/else par une macro R_LOG_ERROR pour une gestion plus concise et uniforme des erreurs lors de l'initialisation des objets.

Améliore la lisibilité du code et réduit la duplication.
2025-10-14 14:12:34 +02:00
ba7d0ca27e Minor - Implémente le rendu des ombres - V14.6.0
Ajoute la possibilité de rendre une shadow map pour les objets de la scène.
Supprime la dépendance de la texture du depth shader et ajoute une option pour caster les ombres sur les RenderComponents.
Modifie la taille de la fenêtre dans l'imgui.ini
2025-10-14 13:33:30 +02:00
13fc189ee8 Patch - Adjusts UI and fixes a stats update call. - V14.5.36
Fixes an issue where the stats update function was not being called correctly, ensuring accurate and up-to-date information is displayed.
2025-10-13 11:26:36 +02:00
af5473f6e3 Patch - Uses degree conversion macro - V14.5.35
Replaces direct calculations of radians to degrees with a macro.

This change centralizes the conversion factor, enhancing code
readability and maintainability. It also removes a duplicate
definition of the same macro.
2025-10-10 18:13:49 +02:00
526b38eb4f Patch - Fixes object list item labeling issue - V14.5.34
Avoids duplicated ImGui labels in the object list by adding the entity ID to the item label.

Also, corrects ImGui layout issues, preventing window overlap.
2025-10-10 17:53:49 +02:00
295b7354d9 Patch - Improves camera controls and movement. - V14.5.33
Refactors camera input handling for smoother and more intuitive control.

This change introduces a dedicated CameraInput structure and updates the
camera class to use it for movement and rotation based on user input.
It removes the old position class camera related logic and integrates mouse
delta for precise rotation control and scroll wheel for speed adjustments.

Updates ImGui layout to reflect the new size for the docked space.
2025-10-10 17:16:10 +02:00
b31b242775 Patch - Adds camera input handling - V14.5.32
Adds a system for managing camera input using a dedicated
CameraInput struct and updates the camera class to process
these inputs. This allows for more flexible and controlled
camera movement.
2025-10-10 15:31:39 +02:00
7c6562719f Patch - Adds utility and improves error handling - V14.5.31
Adds a utility function to retrieve key states for a given container of keys, enhancing input processing capabilities.

Improves error handling by adding more logging for render failures, giving the development team better insights into potential issues and aiding debugging efforts.
2025-10-10 12:46:13 +02:00
00339aa6c2 Patch - Improves code and UI for better engine stability - V14.5.30
Addresses minor issues across the engine to improve stability and UI.

- Updates ImGui window size for better rendering
- Adds macro for boolean returns (R_TRUE and R_FALSE)
- Adds missing includes and removes unused code
- Updates shader code to use the new macros and improve readability
2025-10-10 00:32:19 +02:00
2b8e222d7c Patch - Refactors logging and adds macro header - V14.5.29
This commit refactors the logging system by replacing direct calls to the Logger class with macros. This improves code readability and maintainability by providing a consistent and concise way to log messages throughout the engine.

The 'macro.h' header file is added and included in multiple system classes to define these logging macros, centralizing logging functionality.

Additionally, error handling is improved in imguiManager::IncrementBuildVersionInConfig by logging specific errors during file operations.
2025-10-09 18:47:33 +02:00
7c5a6435bb Patch - Adds macro for simplified logging - V14.5.28
Introduces a macro to streamline logging, enhancing code readability and maintainability.

The new macro replaces direct Logger calls with more concise and expressive `LOG_INFO`, `LOG_ERROR` etc. calls, reducing boilerplate code and improving consistency in logging practices across the engine.
2025-10-09 16:58:48 +02:00
fe77100612 Patch - Updates build version patch number - V14.5.27
Increments the build version patch number to reflect the latest changes.

This ensures accurate version tracking for the engine.
2025-10-08 19:50:39 +02:00
985e4de77d Refactors CI notification to use JSON payload
Updates the CI notification process to send a JSON payload to the notification service, instead of constructing the JSON string directly in the Jenkinsfile. This improves readability, maintainability, and simplifies data handling for both success and failure scenarios. It also allows for easier extension of the data being sent in the future.
2025-10-08 19:43:58 +02:00
b1ba23f9c0 Updates CI notification in Jenkinsfile
Updates the Jenkinsfile to ensure proper JSON formatting for the
list of artifact URLs passed to the CI notification service.
This ensures that the recipient correctly interprets the download links.
2025-10-08 18:56:15 +02:00
884db4877e Updates parameter descriptions and JSON construction
Updates descriptions of Jenkins parameters for clarity.

Refactors the construction of the JSON string containing URLs to
improve readability.
2025-10-08 18:51:12 +02:00
38569b18a7 Jenkins Test #18 2025-10-08 18:45:26 +02:00
aa8e5c0782 Jenkins Test #17 2025-10-08 18:41:45 +02:00
6680e4689b Jenkins Test #16 2025-10-08 18:30:36 +02:00
a2dc31f49c Jenkins Test #15 2025-10-08 18:23:09 +02:00
fc9a4bdc47 Jenkins Test #14 2025-10-08 18:17:33 +02:00
4922305921 Jenkins Test #13 2025-10-08 18:12:35 +02:00
14c07f8750 Jenkins Test #12 2025-10-08 18:10:28 +02:00
2f5a970a4e Jenkins Test #11 2025-10-08 18:06:27 +02:00
6667a57585 Jenkins Test #10 2025-10-08 18:02:19 +02:00
9da4a5e852 Jenkins Test #9 2025-10-08 18:00:12 +02:00
871d7c8265 Jenkins Test #8 2025-10-08 17:53:48 +02:00
3352f2afa7 Jenkins Test #7 2025-10-08 17:28:14 +02:00
715955ef6a Jenkins Test #6 2025-10-08 17:16:35 +02:00
90a43254f3 Jenkins Test #5 2025-10-08 17:11:48 +02:00
f1db564fb3 Jenkins Test #4 2025-10-08 17:09:23 +02:00
97b5483cc9 Test Jenkins #3 2025-10-08 16:32:16 +02:00
ad056fa2a8 Test Jenkins #2 2025-10-08 16:29:03 +02:00
1bdcd5cd1b Jenkins Test 2025-10-08 16:26:27 +02:00
467b357620 Patch - Refactors build and package stages for parallelism - V14.5.5
Improves build and package processes by introducing parallel execution for debug and release configurations.

This change reduces overall execution time by building and packaging debug and release versions concurrently.
2025-10-08 16:17:15 +02:00
0368276fbf Patch - Updates build version to 14.5.4 - V14.5.4
Updates the major, minor, and patch version numbers.

This reflects the latest iteration of the software, keeping the version information current.
2025-10-08 15:38:57 +02:00
9515b18d1e Patch - Packages builds and updates archiving - V14.5.3
Packages debug and release builds into ZIP archives.

Updates artifact archiving to include only the ZIP packages,
rather than individual executables and DLLs. This simplifies
the artifact management process and reduces storage space.
2025-10-08 15:01:52 +02:00
d131c78a59 Actualiser Jenkinsfile 2025-10-08 12:51:05 +00:00
56389b5dee Ajouter Jenkinsfile 2025-10-08 12:46:49 +00:00
389cde97c2 Minor - Adds target FPS control to engine settings - V14.5.0
Adds functionality to control the target FPS of the engine via the ImGui settings panel.

This includes:
- Adding target FPS variables and accessors in the application class.
- Adding a set_target_fps function to the fps_limiter class.
- Updating the ImGui engine settings panel to include a target FPS setting.
- Modifying the main loop to make use of the fps limiter and the engine target FPS.
2025-10-01 16:58:37 +02:00
0e41fb0ec9 Patch - Start Implementing FPS Limiter - V14.4.1
Adds an FPS limiter to control the framerate, preventing excessive resource usage and providing a more consistent experience.

Removes the standalone FPS limiter from the imguiManager and integrates it into the system class.
2025-10-01 16:21:23 +02:00
e4836174b4 Minor - Adds dynamic screen depth and near controls - V14.4.0
Implements dynamic adjustment of screen depth and near clipping plane distances via the ImGui interface.

This allows users to modify the perspective projection in real-time, affecting the rendering of the scene.

The changes involve:
- Adding screen depth and near variables to the application class.
- Exposing these variables in the ImGui settings window.
- Adding functions to the application and d3d classes to update the projection matrix based on new screen depth and near values.
- Updates the sky sphere size to use world scale.
2025-10-01 16:03:11 +02:00
284e282679 Minor - Improves engine settings and sky sphere - V14.3.0
Refactors the Engine Settings window into a tabbed interface, enhancing usability.

Updates the sky sphere implementation to use a configurable distance.

Adjusts ImGui layout for better docking and window arrangement.
2025-10-01 14:07:09 +02:00
4b47346208 Minor - Rework skysphere from Object to Entity - V14.2.0
Introduces a skysphere entity to the scene.
Creates the skysphere during application initialization and manages its visibility via Z-buffer enabling/disabling in the render system.
The skysphere is now an ECS entity.
The culling thread skips the skybox entity to avoid unnecessary calculations since it's always visible.
The position of the skybox is updated with the active camera.
2025-09-29 19:08:43 +02:00
a3d80256f5 Patch - Increments build version number - V14.1.1
Updates the build version number in the header file.

This change reflects an iteration in the development process.
2025-09-18 01:59:31 +02:00
29db39910c Minor - Adds build versioning to the engine - V14.1.0
Implements a build versioning system to track and display the engine's build information.

- Adds a version header file defining version constants.
- Increments the build number automatically from a configuration file on each build in the binary folder.
- Displays the build version in the ImGui menu bar for easy identification.
- Persists version information by reading/writing to the config file

This provides better tracking and identification of specific engine builds.
2025-09-18 01:58:18 +02:00
2346625afb Patch - Adds .idea/ to .gitignore - V14.0.3
Excludes the IntelliJ IDEA project directory from version control.

This prevents project-specific settings and configurations from being accidentally committed, ensuring a cleaner repository.
2025-09-17 23:23:42 +02:00
e9d906ce72 Patch - Removes IDE-specific configuration files - V14.0.2
Deletes various .idea/ configuration files.
These files are specific to the JetBrains Rider IDE
and should not be tracked in the repository.
2025-09-17 23:23:12 +02:00
aee0704fe7 Patch - Configures Git LFS for binary assets - V14.0.1
Configures Git LFS to properly track and manage binary files such as Lua libraries and DLLs.

This ensures that large binary files are stored efficiently and do not bloat the Git repository.
2025-09-17 23:21:32 +02:00
f3039f22ed Major - Adds Lua scripting component support - V14.0.0
Adds a Lua scripting component to the engine, allowing users to attach Lua scripts to entities.

Includes necessary Lua headers and library files.

Also integrates the Lua scripting component into the editor, allowing it to be added via ImGui.
2025-09-17 23:20:50 +02:00
76fdd3c76e Patch - Adds component shutdown functionality - V13.6.1
Implements a shutdown mechanism for components and entities,
ensuring proper resource release and preventing memory leaks.

This change introduces a virtual `Shutdown` method to the
`Component` class, allowing derived components to release
specific resources when they are removed from an entity or
when the entity is destroyed. The `Entity` class now calls
the `Shutdown` method on all its components during its own
release process. The `EntityManager` now calls the
`release()` method when destroying an entity.

This enhancement ensures that resources, such as FMOD sound
objects and channels in the `AudioComponent`, are properly
released, preventing potential resource leaks and improving
the stability of the engine.
2025-09-17 16:47:01 +02:00
7fc4b08808 Minor - Improves scene loading and audio component - V13.6.0
Refactors scene loading to properly initialize models and textures from the scene file.

Adds audio component deserialization and file path handling.

Fixes model loading and texture application in scene manager.
Addresses potential issues with missing components during scene loading.
2025-09-17 00:01:13 +02:00
de05631608 Minor - Enhances ECS component functionality - V13.5.0
Adds serialization/deserialization to components,
allowing saving and loading of entity states.
Provides ImGui widgets for editing component properties,
improving editor usability.
Passes the D3D device and context to entities and
components enabling resource creation within components.
2025-09-16 18:26:33 +02:00
f875580197 Minor - Adds FMOD integration for audio support - V13.4.0
Initializes FMOD sound system within the application class and propagates it to the entity manager and entities. This allows for audio components to access and use the FMOD system for playing sounds.

Removes redundant FMOD system initialization from the audio component.
2025-09-16 16:34:08 +02:00
42b7ca04a4 Merge remote-tracking branch 'origin/main' 2025-09-15 23:19:38 +02:00
aa8e5d2abd Minor - Adds audio component with spatialization - V13.3.0
Adds a new audio component with support for loading, playing, pausing, stopping, and controlling audio properties such as volume, pan, pitch, and looping.

Implements spatialization using FMOD, enabling 3D audio effects based on object and camera positions. Includes file selection dialog and UI controls for audio properties.
2025-09-15 23:19:22 +02:00
5ee88ff932 Minor - Adds basic audio component functionality - V13.2.0
Adds basic audio component and loads default sound for testing

Adds default sounds to the assets folder and includes them in the project.
2025-09-15 23:18:52 +02:00
4f4151201d Adds audio component with spatialization
Adds a new audio component with support for loading, playing, pausing, stopping, and controlling audio properties such as volume, pan, pitch, and looping.

Implements spatialization using FMOD, enabling 3D audio effects based on object and camera positions. Includes file selection dialog and UI controls for audio properties.
2025-09-15 23:15:34 +02:00
9a8bfc43eb Adds basic audio component functionality
Adds basic audio component and loads default sound for testing

Adds default sounds to the assets folder and includes them in the project.
2025-09-15 16:08:46 +02:00
5bb802f0fc Track doxygen_docs with Git LFS 2025-09-10 02:12:41 +02:00
7d33e2da72 Minor - Improves scene editor and adds audio support - V13.1.0
Improves the scene editor by adding an inspector window to view and modify entity components.

Adds audio component support with basic playback controls integrated into the inspector.

Adds default audio files.
2025-09-10 02:00:21 +02:00
42c44b9ff1 Major - Adds FMOD audio library - V13.0.0
Adds precompiled FMOD audio library binaries for various platforms (x86, x64, arm64) and build configurations (Debug, Release).
Also adds a basic audio component header file.
2025-09-09 17:58:42 +02:00
defc1cb795 Minor - Implements scene saving and loading - V12.10.0
Adds scene saving and loading functionality, using a component factory for dynamic component creation and serialization.
This allows users to save and load the state of entities, including their components and textures.

A new component factory is introduced to register and create different component types.
Each component implements serialization and deserialization methods, which are used to store and restore the component's state.

A new .ker scene file format is introduced to serialize entity data and to load it back into memory to restore the scene.

Also adds a DemoScene_V12.9.0.ker file to showcase the engine.
2025-09-06 18:59:42 +02:00
118e635415 Merge remote-tracking branch 'origin/main' 2025-09-06 14:22:37 +02:00
55e561fd14 Minor - Implements component serialization - V12.9.0
Adds serialization and deserialization functionality to the ECS component system.

This allows components to be saved and loaded, enabling scene persistence.
The IdentityComponent is updated to support serialization/deserialization.
The scene saving logic in scene_manager is updated to serialize components instead of hardcoded values.
2025-09-06 14:21:39 +02:00
25e7d97b71 Implements component serialization
Adds serialization and deserialization functionality to the ECS component system.

This allows components to be saved and loaded, enabling scene persistence.
The IdentityComponent is updated to support serialization/deserialization.
The scene saving logic in scene_manager is updated to serialize components instead of hardcoded values.
2025-09-06 14:18:28 +02:00
ccd0d045f9 Patch - Doc Update - V12.8.1 2025-07-28 17:37:15 +02:00
9431552316 Minor - Start the Doxygen doc - V12.8.0 2025-07-28 15:26:10 +02:00
2c005592f0 Patch - TODO : Serialized / Deserialized Component DATA - V12.7.1 2025-06-26 21:44:28 +02:00
763ecff93d Minor - ECS use when loading scene - V12.7.0 2025-06-24 18:58:53 +02:00
e527e85b9c Minor - ECS use in save - V12.6.0 2025-06-24 18:41:13 +02:00
9d0d2d1dfd Minor - ECS use in stats - V12.5.0 2025-06-24 17:15:58 +02:00
7755150ae8 Patch - ADD TODO comment - V12.4.1 2025-06-24 17:01:05 +02:00
ddf5ea30a6 Minor - ImGui Use ECS - V12.4.0 2025-06-24 16:44:29 +02:00
8f0e583c62 Minor - ECS implementation pt.2 - V12.3.0 2025-06-24 16:25:03 +02:00
bf1b5d78e5 Minor - ECS use in other method pt.1 - V12.2.0 2025-06-24 16:13:56 +02:00
3adfddf44f Minor - ECS use for import object - V12.1.0 2025-06-24 15:36:45 +02:00
039b034175 Major - ECS - V12.0.0 2025-06-24 14:24:14 +02:00
688fe7ff1c Minor - Optimisation stats - V11.5.0 2025-06-23 22:39:58 +02:00
de16b97f8e Minor - bigcube generation + using shared model - V11.4.0 2025-06-19 22:19:33 +02:00
f5331444cb Minor - Smart pointer and switch from composition to aggregation for object relation with modelclass - V11.3.0 2025-06-19 17:15:27 +02:00
ae3fc21ffc Patch - Fix release and debug config - V11.2.1 2025-06-03 19:58:01 +02:00
315d259acd Minor - Stats Update - V11.2.0 2025-06-03 18:35:51 +02:00
2a1b474df0 Minor - architecture rework pt.2 - V11.1.0 2025-06-03 17:01:18 +02:00
d364517633 Major - Architecture Rework - 11.0.0 2025-06-03 16:29:44 +02:00
ce51c11b31 Minor - Add Unitest environment - V10.7.0 2025-06-02 14:15:18 +02:00
0e11ead55b Patch - Deth Shader integration for shadow map - V10.6.1 2025-05-28 15:02:43 +02:00
1af71960c3 Minor - Depth shader - V10.6.0 2025-05-28 13:24:53 +02:00
f20adee22f Patch - Sun camera Depth experiment - V10.5.3 2025-05-26 16:03:51 +02:00
eb2cd17ec3 Patch - Sun Camera - V10.5.2 2025-05-26 13:52:00 +02:00
dbd27d1fe7 Revert "Minor - Start Shadow Map - V10.5.0"
This reverts commit d6b7626446.
2025-05-25 16:12:39 +02:00
d6b7626446 Minor - Start Shadow Map - V10.5.0 2025-05-22 17:28:29 +02:00
f9d4523f09 Minor - Refactor name - V10.5.0 2025-05-21 16:40:27 +02:00
24203060be Actualiser README.md 2025-05-13 21:18:50 +00:00
8b77b189a8 Merge branch 'main' of http://gitea-ui.shiba-server.fr:19000/ShibaGit/khaotic-engine-Reborn 2025-05-13 21:50:17 +02:00
e5ee8fdad3 Patch Update - BigCube Is Back - V10.4.2 2025-05-13 21:50:05 +02:00
3a2d19dff4 Actualiser README.md 2025-05-13 13:01:35 +00:00
dbc7003569 Patch Update - Remove The """Instancing""" due to unwanted behavior - V10.4.1 2025-05-12 16:14:38 +02:00
c5bfa2e621 Minor Update - Loading Obj Model is now faster than f1 - V10.4.0 2025-05-12 14:18:43 +02:00
32b71ac97f Patch Update - UI Text No Blur - V10.3.1 2025-05-08 17:35:41 +02:00
5c3c6d944c Minor Update - UI Update - V10.3.0 2025-05-08 17:28:06 +02:00
8d32f51e8c Patch Update - Clean Render Pass - V10.2.3 2025-05-08 17:07:45 +02:00
644fc57762 Patch Update - Frustum Culling Thread Independant - V10.2.2 2025-05-08 16:28:27 +02:00
f8bfb62e98 Patch Update - WIP Async Cube Generation - V10.2.1 2025-05-07 17:48:02 +02:00
94fd900ce8 Minor Update - Stats Widget + BigCube Generation WIP - V10.2.0 2025-05-07 17:15:11 +02:00
2744c809d3 Actualiser README.md 2025-05-06 16:28:06 +00:00
b80f66fec3 Merge branch 'main' of http://gitea-ui.shiba-server.fr:19000/ShibaGit/khaotic-engine-Reborn 2025-05-06 18:09:31 +02:00
8bcd3eed48 Patch Update - Fix Memory Leak From terrain genneration and use Instancing to generate big terrain - V10.1.3 2025-05-06 18:09:28 +02:00
2b1e64ffbd Actualiser README.md 2025-05-06 16:08:35 +00:00
96aa41f649 Actualiser README.md 2025-05-06 15:11:14 +00:00
00e6749d01 Patch Update - IDE File - V10.1.2 2025-05-06 17:08:18 +02:00
5a3a4f73a8 Patch Update - Fix the loading and saving of the texture - V10.1.1 2025-05-06 17:07:45 +02:00
c442a87883 Minor Update - Texture Are Saved - V10.1.0 2025-05-06 15:29:23 +02:00
e681943aa8 Patch Update - workspace.xml - V10.0.2 2025-05-05 16:13:44 +02:00
e68f1d5dd0 Patch Update - LoadTexture Tweak - V10.0.1 2025-05-05 16:12:38 +02:00
8e6b7409d9 Major Update - Complete Rework Texture System - V10.0.0 2025-05-03 16:37:27 +02:00
7dbd735416 Patch Update - Clean Comment - V9.3.10 2025-05-02 15:28:18 +02:00
6014c9034c Patch Update - Fix OBJ Copy - V9.3.9 2025-05-01 21:23:47 +02:00
bf6131af55 Patch Update - Skysphere Obj Smooth - V9.3.8 2025-05-01 21:17:08 +02:00
41519f7154 Patch Update - Skysphere texture reading inverted - V9.3.7 2025-05-01 20:54:20 +02:00
74151de6f7 Patch Update - Naming - V9.3.6 2025-05-01 20:09:08 +02:00
f8503e5a2a Patch Update - SkySphere - V9.3.5 2025-05-01 20:05:25 +02:00
c15cb2956d Patch Update - Skysphere 2025-05-01 19:27:14 +02:00
96b0d0e72d Patch Update - Skybox Shader wip - V9.3.2 2025-05-01 18:41:32 +02:00
f1c13a3c8c Patch Update - Start ShaderSkybox - V9.3.1 2025-05-01 17:16:11 +02:00
e34b44996a Minor Update - Skybox Update - V9.3.0 2025-05-01 16:41:33 +02:00
0e45e0688c Patch update - V9.2.13
Physics update
2025-04-01 13:47:45 +02:00
9c6db5c76d Patch update - V9.2.12 2025-03-30 23:45:57 +02:00
3ea5c92028 Patch update - V9.2.11 2025-03-30 23:44:55 +02:00
4d23c481d4 Configuration de Git LFS pour enginecustom/assets/Model/OBJ/*.obj et *.mtl 2025-03-30 23:38:41 +02:00
d8bda97819 Patch update - V9.2.9 2025-03-30 23:34:11 +02:00
ede5080c10 Patch Update - V9.2.8
Remove Vulkan related code
2025-03-23 13:45:17 +01:00
1ea77c909f vulkan test 2025-03-22 19:00:37 +01:00
73727ab45a Patch update - V9.2.6 2025-03-22 15:05:55 +01:00
e991d069fe additional lib for vulkan 2025-03-22 14:52:39 +01:00
648fc887d6 add lib 2025-03-21 19:33:00 +01:00
63482923bb Patch Update - V9.2.3
[FIX] :

~ Use The Already Implemented IsKeyDown avoid calling each tick the method bound to the input
2025-03-20 13:59:01 +01:00
987ad6784e Patch Update - V9.2.2
FIX RELEASE BUILD CONFIGURATION
2025-03-20 00:15:34 +01:00
f2a8bb6b5b Patch update - V9.2.1 2025-03-19 13:22:56 +01:00
606aaa76e9 Minor Update - V.9.2.0
[FEAT] :

- Add More Object Property to the save and load
2025-03-19 12:05:15 +01:00
3930c5eff7 Minor Update - V9.1.0
[FEAT] :

+ Import Assets in project copy file in project
2025-03-19 10:55:10 +01:00
eea7b4c067 Major Update - V9.0.0
[FEAT] :

+ Add Save and Load system for scene but only for kobject
2025-03-18 22:43:23 +01:00
6583f74a5f Patch Update - V8.1.1
+ Define the struct of the scene save file
2025-03-17 17:49:16 +01:00
7eb6ed72e6 Minor Update - V8.1.0
[FIX] :

- Alpha Shader

[FEAT] :

- Add Scene action in bar menu
- Start to implemented Save And Load Logique
2025-03-17 12:59:04 +01:00
8b9e860c00 Major Update - Scene Window Rework 2025-03-11 17:46:36 +01:00
5e68105fe1 ALED 2025-02-02 22:35:41 +01:00
af01f223c1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2025-02-01 00:46:41 +01:00
118e967412 Patch update - add menu button 2025-01-29 21:13:35 +01:00
452e84aa16 Minor update - viewport window tweak 2025-01-29 19:31:12 +01:00
151ea9b191 Minor update - celshading rework started 2025-01-28 17:42:23 +01:00
0d5e26266b Major update - Architecture Rework 2025-01-27 22:46:27 +01:00
425224a96c patch update - fix sunlight shader
Prend en compte les paramètres direction et intensité
2025-01-23 22:45:59 +01:00
d8851cc679 minor update - light ui tweak 2025-01-23 20:55:55 +01:00
c355509870 patch readme 2025-01-23 17:31:36 +01:00
51b29f77aa Minor update - Sunlight shader 2025-01-23 17:29:29 +01:00
d8552d3f91 minor update - préparation sunlight 2025-01-22 19:56:28 +01:00
261df5e257 Minor update - Skybox baby
Faudra mettre une texture numéroté pour la skybox afin de verifié l'orientation des plan qui la constitue
2025-01-21 17:43:02 +01:00
172db0b96d Skybox WIP 2025-01-21 15:28:37 +01:00
296e04692a patch debug - exec 2025-01-20 23:13:35 +01:00
fec593205b log tweak 2025-01-19 21:49:40 +01:00
161166837f Minor update - Log system rework
+ GetLogLevelInfo return a struct of info relative to a type of log

+ filtered log in the UI
2025-01-19 14:41:37 +01:00
a88ed06198 minor log - update 2025-01-18 15:56:25 +01:00
cb3f10b7d5 Minor update - Log window in Ui 2025-01-17 17:57:58 +01:00
4ae55e73b2 Major Update - Physique Fixed Update And Thread
Physics process run in a fixed update in a thread
2025-01-17 15:47:09 +01:00
15217a5df8 Patch update - Scene window 2025-01-16 21:02:17 +01:00
06efdf6f6c Imgui Update for the patch 2025-01-16 17:52:49 +01:00
b029018552 Major update - IMGUI Change
New ImGui version : Branch Doking
2025-01-16 17:31:13 +01:00
39fa32603f Minor update - ui x physix 2025-01-15 20:42:42 +01:00
c707e49561 Physic rebuild start 2025-01-15 18:33:02 +01:00
58cafd7682 faut tout pt encore 2025-01-14 16:10:40 +01:00
c5de18a9b3 Patch - Logger opti 2025-01-12 18:40:23 +01:00
f337e58dcc Merge branch 'main' of https://github.com/CatChow0/khaotic-engine-Reborn 2025-01-12 01:12:34 +01:00
CatChow0
af98e5edc7 Update README.md 2025-01-12 01:10:08 +01:00
01a9c940f0 Minor update - frustum rework
Complete overhaul of frustum culling
2025-01-12 00:59:43 +01:00
ab0355ed97 Minor update - Add Render Queues 2025-01-11 22:18:19 +01:00
915c0cdd7f Minor Update - Object Rendering change
+ RenderPass (render object in a vector)
2025-01-11 13:53:35 +01:00
bce659e55d Minor - Vsync toggle
New Method :

+ Set Vsync
+ Set Screen Width
+ Set Screen Height
+ Get Hwnd
+ Set Hwnd
+ IsWindowed
+ SetWindowed

New UI For Engine Settings :

+ Add Vsync Toggle to UI
2025-01-10 20:43:36 +01:00
79f266b479 Quick Test and organization tweak 2025-01-09 23:00:03 +01:00
b4804c2df2 boo 2024-10-02 12:44:00 +02:00
7d2b962420 Patch Update - Terrain Tweak 2024-10-01 20:44:46 +02:00
d7965fec64 plane obj tweak 2024-10-01 19:04:41 +02:00
7f84ab39a1 ajout des fichier obj forcer 2024-10-01 18:48:01 +02:00
975edf0e62 Améliorations de la gestion des chemins et textures
- Ajout de la récupération du chemin d'exécution du module dans `WinMain` et transmission à `SystemClass`.
- Ajout de la méthode `SendPath` dans `SystemClass` pour transmettre le chemin et le dossier de travail à `ApplicationClass`.
- Remplacement de la variable `result` par `Hresult` pour les résultats des appels DirectX dans `ApplicationClass::Initialize`.
- Définition du chemin de travail courant avant de charger les textures dans `ApplicationClass::AddKobject`.
- Vérification que l'objet a bien reçu les textures après l'initialisation dans `ApplicationClass::AddKobject`.
- Ajout des méthodes `SetPath` et `SetWFolder` dans `ApplicationClass` pour définir le chemin et le dossier de travail.
- Réduction du nombre de catégories de textures affichées dans `imguiManager::WidgetObjectWindow`.
2024-10-01 16:02:30 +02:00
b3af9f4ce7 Minor Update - Fix Release Version 2024-09-30 16:13:52 +02:00
8f20397130 sus 2024-09-30 15:29:49 +02:00
3aafec5bf8 Set Up DirextXTK in git 2024-09-30 13:53:03 +02:00
79558eed4f prout 2024-09-29 18:30:50 +02:00
3e3620d925 Patch - Update 2024-09-29 18:19:49 +02:00
c9ece7b9b9 ajout des fichier obj forcer 2024-09-29 17:57:16 +02:00
97e4a62f20 obj gitignore 2024-09-29 17:52:25 +02:00
64ae50814f Mise à jour des inclusions de fichiers OBJ
Les fichiers OBJ dans `enginecustom.vcxproj` ont été modifiés pour être inclus en tant que `CopyFileToFolders` au lieu de `Object`, avec le type de fichier spécifié comme `Document`. Les filtres correspondants dans `enginecustom.vcxproj.filters` ont également été mis à jour pour refléter ce changement, en maintenant le filtre `Assets\Model\OBJ` pour chaque fichier OBJ.
2024-09-29 17:43:56 +02:00
9f3b4c4f1a Archi update 2024-09-29 17:39:22 +02:00
0ce02071bb gitignore 2024-09-29 17:30:38 +02:00
48624a2135 gitignore 2024-09-29 17:28:55 +02:00
fa2544d596 MAJOR UPDATE - ARCHITECTURE 2024-09-29 17:27:30 +02:00
68e460c5df Major Update - Texture Change 2024-09-29 13:57:26 +02:00
bbbea117c3 MAJOR UPDATE - REWORK TEXTURE
-support texture tga retirer

+support texture format standard ajouter
2024-09-29 13:24:18 +02:00
c4b4ef83e3 hummm 2024-09-28 22:03:35 +02:00
6e6db2cf87 Project Name - Update 2024-09-28 20:24:39 +02:00
b45707c620 Patch - Rename Project 2024-09-28 20:23:19 +02:00
e20a2aa365 MAJOR UPDATE - BROKEN
- New way of loading Texture
2024-09-28 20:16:44 +02:00
1992 changed files with 801321 additions and 811693 deletions

10
.gitattributes vendored Normal file
View File

@@ -0,0 +1,10 @@
enginecustom/assets/Model/OBJ/*.obj filter=lfs diff=lfs merge=lfs -text
enginecustom/assets/Model/OBJ/*.mtl filter=lfs diff=lfs merge=lfs -text
doxygen_docs/** filter=lfs diff=lfs merge=lfs -text
enginecustom/include/Lua/Lib/lua54.lib filter=lfs diff=lfs merge=lfs -text
enginecustom/x64/Debug/lua54.dll filter=lfs diff=lfs merge=lfs -text
enginecustom/x64/Release/lua54.dll filter=lfs diff=lfs merge=lfs -text
x64/Debug/lua54.dll filter=lfs diff=lfs merge=lfs -text
x64/Release/lua54.dll filter=lfs diff=lfs merge=lfs -text
x64/Debug/config.txt filter=lfs diff=lfs merge=lfs -text
x64/Release/config.txt filter=lfs diff=lfs merge=lfs -text

10
.gitignore vendored
View File

@@ -9,14 +9,6 @@
*.slo
*.lo
*.o
*.obj
# Don't ignore 3d model in OBJ
!enginecustom/monke.obj
!enginecustom/isosphere.obj
!enginecustom/cone.obj
!enginecustom/vaisseau.obj
!enginecustom/86.obj
# Precompiled Headers
*.gch
@@ -442,3 +434,5 @@ FodyWeavers.xsd
# Additional files built by Visual Studio
# End of https://www.toptal.com/developers/gitignore/api/visualstudio,c++
.idea/

24
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,24 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++ Runner: Debug Session",
"type": "cppdbg",
"request": "launch",
"args": [],
"stopAtEntry": false,
"externalConsole": true,
"cwd": "c:/Users/arivas/Documents/GitHub/khaotic-engine-Reborn/enginecustom",
"program": "c:/Users/arivas/Documents/GitHub/khaotic-engine-Reborn/enginecustom/build/Debug/outDebug",
"MIMode": "gdb",
"miDebuggerPath": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}

59
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,59 @@
{
"C_Cpp_Runner.cCompilerPath": "gcc",
"C_Cpp_Runner.cppCompilerPath": "g++",
"C_Cpp_Runner.debuggerPath": "gdb",
"C_Cpp_Runner.cStandard": "",
"C_Cpp_Runner.cppStandard": "",
"C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat",
"C_Cpp_Runner.useMsvc": false,
"C_Cpp_Runner.warnings": [
"-Wall",
"-Wextra",
"-Wpedantic",
"-Wshadow",
"-Wformat=2",
"-Wcast-align",
"-Wconversion",
"-Wsign-conversion",
"-Wnull-dereference"
],
"C_Cpp_Runner.msvcWarnings": [
"/W4",
"/permissive-",
"/w14242",
"/w14287",
"/w14296",
"/w14311",
"/w14826",
"/w44062",
"/w44242",
"/w14905",
"/w14906",
"/w14263",
"/w44265",
"/w14928"
],
"C_Cpp_Runner.enableWarnings": true,
"C_Cpp_Runner.warningsAsError": false,
"C_Cpp_Runner.compilerArgs": [],
"C_Cpp_Runner.linkerArgs": [],
"C_Cpp_Runner.includePaths": [],
"C_Cpp_Runner.includeSearch": [
"*",
"**/*"
],
"C_Cpp_Runner.excludeSearch": [
"**/build",
"**/build/**",
"**/.*",
"**/.*/**",
"**/.vscode",
"**/.vscode/**"
],
"C_Cpp_Runner.useAddressSanitizer": false,
"C_Cpp_Runner.useUndefinedSanitizer": false,
"C_Cpp_Runner.useLeakSanitizer": false,
"C_Cpp_Runner.showCompilationTime": false,
"C_Cpp_Runner.useLinkTimeOptimization": false,
"C_Cpp_Runner.msvcSecureNoWarnings": false
}

2970
Doxyfile Normal file

File diff suppressed because it is too large Load Diff

136
Jenkinsfile vendored Normal file
View File

@@ -0,0 +1,136 @@
pipeline {
agent { label 'windows' }
parameters {
string(name: 'DISCORD_USER_ID', defaultValue: '378262266723696651', description: 'ID Discord pour recevoir le DM')
choice(name: 'BUILD_TYPE', choices: ['Both', 'Debug', 'Release'], description: 'Type de build à exécuter')
}
options {
timestamps()
disableConcurrentBuilds()
timeout(time: 30, unit: 'MINUTES')
}
triggers {
pollSCM('')
}
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Build') {
parallel {
stage('Build Debug') {
when { expression { params.BUILD_TYPE in ['Both', 'Debug'] } }
steps {
echo 'Building Debug...'
bat """
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\MSBuild.exe" ^
"%WORKSPACE%\\KhaoticEngineReborn.sln" ^
/p:Configuration=Debug ^
/p:Platform=x64 ^
/m ^
/verbosity:minimal
"""
}
}
stage('Build Release') {
when { expression { params.BUILD_TYPE in ['Both', 'Release'] } }
steps {
echo 'Building Release...'
bat """
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\MSBuild.exe" ^
"%WORKSPACE%\\KhaoticEngineReborn.sln" ^
/p:Configuration=Release ^
/p:Platform=x64 ^
/m ^
/verbosity:minimal
"""
}
}
}
}
stage('Package') {
parallel {
stage('Package Debug') {
when { expression { params.BUILD_TYPE in ['Both', 'Debug'] } }
steps {
echo 'Packaging Debug into ZIP'
bat 'if not exist "%WORKSPACE%\\builds" mkdir "%WORKSPACE%\\builds"'
bat """
powershell -Command "Compress-Archive -Path '%WORKSPACE%\\**\\Debug\\*' -DestinationPath '%WORKSPACE%\\builds\\KhaoticEngineReborn_Debug.zip' -Force"
"""
}
}
stage('Package Release') {
when { expression { params.BUILD_TYPE in ['Both', 'Release'] } }
steps {
echo 'Packaging Release into ZIP'
bat 'if not exist "%WORKSPACE%\\builds" mkdir "%WORKSPACE%\\builds"'
bat """
powershell -Command "Compress-Archive -Path '%WORKSPACE%\\**\\Release\\*' -DestinationPath '%WORKSPACE%\\builds\\KhaoticEngineReborn_Release.zip' -Force"
"""
}
}
}
}
stage('Archive Artifacts') {
steps {
archiveArtifacts artifacts: 'builds/*.zip', fingerprint: true
}
}
}
post {
success {
script {
def urlsList = []
if (params.BUILD_TYPE in ['Both', 'Debug']) {
urlsList << "${env.BUILD_URL}artifact/builds/KhaoticEngineReborn_Debug.zip"
}
if (params.BUILD_TYPE in ['Both', 'Release']) {
urlsList << "${env.BUILD_URL}artifact/builds/KhaoticEngineReborn_Release.zip"
}
def data = [
userId: params.DISCORD_USER_ID,
status: 'success',
urls: urlsList
]
def jsonFile = "${env.WORKSPACE}\\payload.json"
writeFile file: jsonFile, text: groovy.json.JsonOutput.toJson(data)
bat """
curl -X POST http://192.168.1.131:2500/ci-notify ^
-H "Content-Type: application/json" ^
--data @${jsonFile}
"""
}
}
failure {
script {
def data = [
userId: params.DISCORD_USER_ID,
status: 'failure',
urls: []
]
def jsonFile = "${env.WORKSPACE}\\payload-fail.json"
writeFile file: jsonFile, text: groovy.json.JsonOutput.toJson(data)
bat """
curl -X POST http://192.168.1.131:2500/ci-notify ^
-H "Content-Type: application/json" ^
--data @${jsonFile}
"""
}
}
}
}

View File

@@ -1,140 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{9e5ef415-5337-4eed-ae23-edc4b1fff455}</ProjectGuid>
<RootNamespace>KhaoticDemo</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="..\enginecustom\enginecustom.vcxproj">
<Project>{92cf56c4-76bb-40d4-8fe5-36c15f5f127a}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Fichiers sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Fichiers d%27en-tête">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Fichiers de ressources">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Fichiers sources</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -1,4 +0,0 @@
int main()
{
return 0;
}

View File

@@ -1,72 +0,0 @@
/////////////
// GLOBALS //
/////////////
SamplerState SampleType : register(s0);
Texture2D reflectionTexture : register(t0);
Texture2D refractionTexture : register(t1);
Texture2D normalTexture : register(t2);
cbuffer WaterBuffer
{
float waterTranslation;
float reflectRefractScale;
float2 padding;
};
//////////////
// TYPEDEFS //
//////////////
struct PixelInputType
{
float4 position : SV_POSITION;
float2 tex : TEXCOORD0;
float4 reflectionPosition : TEXCOORD1;
float4 refractionPosition : TEXCOORD2;
};
////////////////////////////////////////////////////////////////////////////////
// Pixel Shader
////////////////////////////////////////////////////////////////////////////////
float4 WaterPixelShader(PixelInputType input) : SV_TARGET
{
float2 reflectTexCoord;
float2 refractTexCoord;
float4 normalMap;
float3 normal;
float4 reflectionColor;
float4 refractionColor;
float4 color;
// Move the position the water normal is sampled from to simulate moving water.
input.tex.y += waterTranslation;
// Calculate the projected reflection texture coordinates.
reflectTexCoord.x = input.reflectionPosition.x / input.reflectionPosition.w / 2.0f + 0.5f;
reflectTexCoord.y = -input.reflectionPosition.y / input.reflectionPosition.w / 2.0f + 0.5f;
// Calculate the projected refraction texture coordinates.
refractTexCoord.x = input.refractionPosition.x / input.refractionPosition.w / 2.0f + 0.5f;
refractTexCoord.y = -input.refractionPosition.y / input.refractionPosition.w / 2.0f + 0.5f;
// Sample the normal from the normal map texture.
normalMap = normalTexture.Sample(SampleType, input.tex);
// Expand the range of the normal from (0,1) to (-1,+1).
normal = (normalMap.xyz * 2.0f) - 1.0f;
// Re-position the texture coordinate sampling position by the normal map value to simulate the rippling wave effect.
reflectTexCoord = reflectTexCoord + (normal.xy * reflectRefractScale);
refractTexCoord = refractTexCoord + (normal.xy * reflectRefractScale);
// Sample the texture pixels from the textures using the updated texture coordinates.
reflectionColor = reflectionTexture.Sample(SampleType, reflectTexCoord);
refractionColor = refractionTexture.Sample(SampleType, refractTexCoord);
// Combine the reflection and refraction results for the final color.
color = lerp(reflectionColor, refractionColor, 0.6f);
return color;
}

View File

@@ -3,9 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34607.119
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "enginecustom", "enginecustom\enginecustom.vcxproj", "{92CF56C4-76BB-40D4-8FE5-36C15F5F127A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KhaoticDemo", "KhaoticDemo\KhaoticDemo.vcxproj", "{9E5EF415-5337-4EED-AE23-EDC4B1FFF455}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KhaoticCore", "enginecustom\enginecustom.vcxproj", "{92CF56C4-76BB-40D4-8FE5-36C15F5F127A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -23,14 +21,6 @@ Global
{92CF56C4-76BB-40D4-8FE5-36C15F5F127A}.Release|x64.Build.0 = Release|x64
{92CF56C4-76BB-40D4-8FE5-36C15F5F127A}.Release|x86.ActiveCfg = Release|Win32
{92CF56C4-76BB-40D4-8FE5-36C15F5F127A}.Release|x86.Build.0 = Release|Win32
{9E5EF415-5337-4EED-AE23-EDC4B1FFF455}.Debug|x64.ActiveCfg = Debug|x64
{9E5EF415-5337-4EED-AE23-EDC4B1FFF455}.Debug|x64.Build.0 = Debug|x64
{9E5EF415-5337-4EED-AE23-EDC4B1FFF455}.Debug|x86.ActiveCfg = Debug|Win32
{9E5EF415-5337-4EED-AE23-EDC4B1FFF455}.Debug|x86.Build.0 = Debug|Win32
{9E5EF415-5337-4EED-AE23-EDC4B1FFF455}.Release|x64.ActiveCfg = Release|x64
{9E5EF415-5337-4EED-AE23-EDC4B1FFF455}.Release|x64.Build.0 = Release|x64
{9E5EF415-5337-4EED-AE23-EDC4B1FFF455}.Release|x86.ActiveCfg = Release|Win32
{9E5EF415-5337-4EED-AE23-EDC4B1FFF455}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -2,13 +2,13 @@
Khaotic Engine Reborn reprend comme base le moteur Khaotic Engine pour lui ajouter plus de fonctionalité.
Ce moteur est basé sur **DirectX11** utilise **ImGui** avec une couche d'abstraction pour permetre son usage avec d'autres API.
Ce moteur est basé sur **DirectX11** et utilise **ImGui** pour son interface graphique.
---
Khaotic Engine is a rendering engine made in **C++** by a small team with the aim of learning how to use rendering APIs (OpenGL, DirectX 11/12 and Vulkan).
This **DirectX11** based engine uses **ImGui** with an abstraction layer to enable its use with other APIs.
This **DirectX11** based engine uses **ImGui** for the user interface.
## Installation
@@ -35,15 +35,36 @@ This **DirectX11** based engine uses **ImGui** with an abstraction layer to enab
**SHADER** :
- Cel Shading
+ Sunlight shader
+ Cel Shading
+ Skysphere
**Interface Graphique** :
- Shader Manager
+ Console link to the Logger object
+ Shader Manager
+ Engine Settings
+ Sunlight Settings
**Save And Load of a Scene** :
+ Save All Custom object
+ Save All Custom Texture for Custom Object
**Texture File** :
+ All the format supported by Windows Imaging Component (WIC)
**Optimization** :
- Shader rendering
- Frustum culling
- Object rendering
- Terrain Instancing
## Demo :
[![Demo Video](https://img.youtube.com/vi/qCOCTyB_97c/0.jpg)](https://www.youtube.com/watch?v=qCOCTyB_97c)
[![Demo Video](https://img.youtube.com/vi/CbK1a0Ar94Q/0.jpg)](https://youtu.be/CbK1a0Ar94Q)
## Engine Build by :
@@ -56,7 +77,7 @@ This **DirectX11** based engine uses **ImGui** with an abstraction layer to enab
- [@Harpie94](https://github.com/Harpie94)
- [@axelpicou](https://github.com/axelpicou)
- [@GolfOcean334](https://github.com/GolfOcean334)
- [@sutabasuto](https://github.com/sutabasuto)
- [@sutabasuto](https://github.com/sutabasuto)
**Moteur Reborn** :

2924
doxygen.txt Normal file

File diff suppressed because it is too large Load Diff

BIN
doxygen_docs/html/.stfolder/syncthing-folder-b68556.txt (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/_logger_8h_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/_main_8cpp_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/_modellistclass_8cpp_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/_modellistclass_8h_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/_skybox_8cpp_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/_skybox_8h_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/alpha__map__shader__class_8cpp_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/alpha__map__shader__class_8h_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/annotated.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/annotated_dup.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/application__class_8cpp_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/application__class_8h_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/bc_s.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/bc_sd.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/bitmap__class_8cpp_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/bitmap__class_8h_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/camera__class_8cpp_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/camera__class_8h_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/celshade__class_8cpp_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/celshade__class_8h_source.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/class_frustum_class-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/class_frustum_class.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/class_logger-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/class_logger.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/class_logger.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/class_model_list_class-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/class_model_list_class.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/class_skybox-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/class_skybox.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/class_skybox.js (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
doxygen_docs/html/classalpha__map__shader__class.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classapplication__class-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classapplication__class.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classapplication__class.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classbitmap__class-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classbitmap__class.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classcamera__class-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classcamera__class.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classcamera__class.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classcelshade__class-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classcelshade__class.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classcolor__shader__class-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classcolor__shader__class.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classd__3d__class-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classd__3d__class.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classd__3d__class.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classdepth__shader__class-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classdepth__shader__class.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classdisplay__plane__class-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classdisplay__plane__class.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_component-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_component.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_component.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_component.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_entity-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_entity.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_entity.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_entity_manager-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_entity_manager.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_entity_manager.js (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_identity_component.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_identity_component.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_identity_component.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_model_path_component.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_model_path_component.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_model_path_component.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_physics_component.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_physics_component.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_physics_component.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_render_component-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_render_component.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_render_component.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_render_component.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_render_system-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_render_system.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_render_system.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_shader_component-members.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_shader_component.html (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_shader_component.js (Stored with Git LFS) Normal file

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_shader_component.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
doxygen_docs/html/classecs_1_1_transform_component.html (Stored with Git LFS) Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More