56 Commits

Author SHA1 Message Date
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
673 changed files with 126993 additions and 8283 deletions

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AndroidProjectSystem">
<option name="providerId" value="RiderAndroidProjectSystem" />
</component>
</project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AgentMigrationStateService">
<option name="migrationStatus" value="COMPLETED" />
</component>
</project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EditMigrationStateService">
<option name="migrationStatus" value="COMPLETED" />
</component>
</project>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="Encoding"> <component name="Encoding">
<file url="file://$PROJECT_DIR$/enginecustom/src/src/system/applicationclass.cpp" charset="windows-1252" /> <file url="file://$PROJECT_DIR$/enginecustom/src/src/system/application_class.cpp" charset="windows-1252" />
<file url="file://$PROJECT_DIR$/enginecustom/src/src/system/imguiManager.cpp" charset="windows-1252" /> <file url="file://$PROJECT_DIR$/enginecustom/src/src/system/imguiManager.cpp" charset="windows-1252" />
<file url="PROJECT" charset="windows-1252" /> <file url="PROJECT" charset="windows-1252" />
</component> </component>

View File

@@ -1,6 +1,7 @@
<component name="InspectionProjectProfileManager"> <component name="InspectionProjectProfileManager">
<profile version="1.0"> <profile version="1.0">
<option name="myName" value="Project Default" /> <option name="myName" value="Project Default" />
<inspection_tool class="LanguageDetectionInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ReassignedToPlainText" enabled="false" level="WARNING" enabled_by_default="false" /> <inspection_tool class="ReassignedToPlainText" enabled="false" level="WARNING" enabled_by_default="false" />
</profile> </profile>
</component> </component>

View File

@@ -2,6 +2,7 @@
<project version="4"> <project version="4">
<component name="RiderProjectSettingsUpdater"> <component name="RiderProjectSettingsUpdater">
<option name="singleClickDiffPreview" value="1" /> <option name="singleClickDiffPreview" value="1" />
<option name="unhandledExceptionsIgnoreList" value="1" />
<option name="vcsConfiguration" value="3" /> <option name="vcsConfiguration" value="3" />
</component> </component>
</project> </project>

View File

@@ -5,8 +5,13 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e81d6e08-efc7-40a0-909d-ec4943d948e9" name="Changes" comment=""> <list default="true" id="e81d6e08-efc7-40a0-909d-ec4943d948e9" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/ecs/components/audio_component.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.KhaoticEngineReborn/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.KhaoticEngineReborn/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/.idea.KhaoticEngineReborn/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.KhaoticEngineReborn/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/enginecustom/assets/Model/OBJ/skysphere.obj" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/assets/Model/OBJ/skysphere.obj" afterDir="false" /> <change beforePath="$PROJECT_DIR$/enginecustom/enginecustom.vcxproj" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/enginecustom.vcxproj" afterDir="false" />
<change beforePath="$PROJECT_DIR$/enginecustom/enginecustom.vcxproj.filters" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/enginecustom.vcxproj.filters" afterDir="false" />
<change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/application_class.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/application_class.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/ecs/ComponentFactory.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/ecs/ComponentFactory.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/Main.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/Main.cpp" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -20,10 +25,28 @@
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component> </component>
<component name="HighlightingSettingsPerFile"> <component name="HighlightingSettingsPerFile">
<setting file="file://C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/um/d3d11.h" root0="SKIP_HIGHLIGHTING" />
<setting file="file://C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/um/dinput.h" root0="SKIP_HIGHLIGHTING" />
<setting file="file://C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/include/memory" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/include/Inc/VertexTypes.h" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/include/Vulkan/Include/vulkan/vulkan_core.h" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/enginecustom/include/Vulkan/Include/vulkan/vulkan_core.h" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/src/src/shader/CelShadingShader.cpp" root0="FORCE_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/enginecustom/src/inc/system/ecs/ComponentFactory.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/src/inc/system/ecs/component.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/src/inc/system/ecs/components/identity_component.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/src/inc/system/ecs/components/model_path_component.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/src/inc/system/ecs/components/physics_component.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/src/inc/system/ecs/components/render_component.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/src/inc/system/ecs/components/shader_component.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/src/inc/system/ecs/components/transform_component.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/src/inc/system/ecs/entity.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/src/inc/system/ecs/entity_manager.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/enginecustom/src/inc/system/ecs/systems/render_system.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/../../IDE_VS/VC/Tools/MSVC/14.38.33130/include/type_traits" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/../../IDE_VS/VC/Tools/MSVC/14.38.33130/include/type_traits" root0="SKIP_HIGHLIGHTING" />
</component> </component>
<component name="KubernetesApiPersistence">{}</component>
<component name="KubernetesApiProvider">{
&quot;isMigrated&quot;: true
}</component>
<component name="MetaFilesCheckinStateConfiguration" checkMetaFiles="true" /> <component name="MetaFilesCheckinStateConfiguration" checkMetaFiles="true" />
<component name="ProblemsViewState"> <component name="ProblemsViewState">
<option name="selectedTabId" value="CurrentFile" /> <option name="selectedTabId" value="CurrentFile" />
@@ -32,6 +55,9 @@
&quot;associatedIndex&quot;: 6 &quot;associatedIndex&quot;: 6
}</component> }</component>
<component name="ProjectId" id="2sGIWDeT5ixyzDQ0he4A3RFpG9W" /> <component name="ProjectId" id="2sGIWDeT5ixyzDQ0he4A3RFpG9W" />
<component name="ProjectLevelVcsManager">
<ConfirmationsSetting value="2" id="Add" />
</component>
<component name="ProjectViewState"> <component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" /> <option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" /> <option name="showLibraryContents" value="true" />
@@ -40,6 +66,7 @@
&quot;keyToString&quot;: { &quot;keyToString&quot;: {
&quot;ASKED_SHARE_PROJECT_CONFIGURATION_FILES&quot;: &quot;true&quot;, &quot;ASKED_SHARE_PROJECT_CONFIGURATION_FILES&quot;: &quot;true&quot;,
&quot;C++ Project.enginecustom.executor&quot;: &quot;Run&quot;, &quot;C++ Project.enginecustom.executor&quot;: &quot;Run&quot;,
&quot;C/C++ Project.KhaoticDemo.executor&quot;: &quot;Run&quot;,
&quot;C/C++ Project.enginecustom.executor&quot;: &quot;Run&quot;, &quot;C/C++ Project.enginecustom.executor&quot;: &quot;Run&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;, &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;, &quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
@@ -165,6 +192,64 @@
<workItem from="1746113092234" duration="1477000" /> <workItem from="1746113092234" duration="1477000" />
<workItem from="1746117455914" duration="5976000" /> <workItem from="1746117455914" duration="5976000" />
<workItem from="1746126812110" duration="180000" /> <workItem from="1746126812110" duration="180000" />
<workItem from="1746188920194" duration="1870000" />
<workItem from="1746274246641" duration="89000" />
<workItem from="1746274352144" duration="8039000" />
<workItem from="1746444660572" duration="7742000" />
<workItem from="1746456965664" duration="13000" />
<workItem from="1746469494034" duration="799000" />
<workItem from="1746526901276" duration="2023000" />
<workItem from="1746536290167" duration="1908000" />
<workItem from="1746538260893" duration="5781000" />
<workItem from="1746546014271" duration="1814000" />
<workItem from="1746619988287" duration="12282000" />
<workItem from="1746711806997" duration="6736000" />
<workItem from="1746719840054" duration="991000" />
<workItem from="1746795732153" duration="33000" />
<workItem from="1746795828588" duration="592000" />
<workItem from="1747049871967" duration="9350000" />
<workItem from="1747136509645" duration="3939000" />
<workItem from="1747258663152" duration="835000" />
<workItem from="1747826758888" duration="3587000" />
<workItem from="1747830379222" duration="7954000" />
<workItem from="1748254142068" duration="10499000" />
<workItem from="1748267553700" duration="654000" />
<workItem from="1748429087202" duration="7421000" />
<workItem from="1748521606678" duration="5300000" />
<workItem from="1748859894056" duration="1431000" />
<workItem from="1748861785837" duration="357000" />
<workItem from="1748865625274" duration="797000" />
<workItem from="1748869642637" duration="3049000" />
<workItem from="1748954607174" duration="14202000" />
<workItem from="1748969487337" duration="402000" />
<workItem from="1750187491423" duration="4397000" />
<workItem from="1750191969842" duration="162000" />
<workItem from="1750248915365" duration="442000" />
<workItem from="1750335650897" duration="2051000" />
<workItem from="1750344288223" duration="1751000" />
<workItem from="1750351735497" duration="9648000" />
<workItem from="1750417484899" duration="2384000" />
<workItem from="1750420267631" duration="148000" />
<workItem from="1750592598277" duration="332000" />
<workItem from="1750699146323" duration="10385000" />
<workItem from="1750763086646" duration="4874000" />
<workItem from="1750770680795" duration="13425000" />
<workItem from="1750964683511" duration="27000" />
<workItem from="1750964770914" duration="2126000" />
<workItem from="1753700140931" duration="918000" />
<workItem from="1753701507863" duration="7153000" />
<workItem from="1753713925469" duration="1739000" />
<workItem from="1754572996727" duration="224000" />
<workItem from="1755617169013" duration="222000" />
<workItem from="1757101936080" duration="185000" />
<workItem from="1757158576637" duration="2501000" />
<workItem from="1757167799006" duration="45000" />
<workItem from="1757167889796" duration="7081000" />
<workItem from="1757175031271" duration="2289000" />
<workItem from="1757177353935" duration="676000" />
<workItem from="1757182479393" duration="1386000" />
<workItem from="1757427950015" duration="2864000" />
<workItem from="1757431548883" duration="986000" />
</task> </task>
<task id="LOCAL-00001" summary="Minor update - viewport window tweak"> <task id="LOCAL-00001" summary="Minor update - viewport window tweak">
<option name="closed" value="true" /> <option name="closed" value="true" />
@@ -208,6 +293,22 @@
<option name="LAST_COMMIT_MESSAGE" value="Patch update - add menu button" /> <option name="LAST_COMMIT_MESSAGE" value="Patch update - add menu button" />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.OperationCanceledException" breakIfHandledByOtherCode="false" displayValue="System.OperationCanceledException" />
<option name="timeStamp" value="1" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.Tasks.TaskCanceledException" breakIfHandledByOtherCode="false" displayValue="System.Threading.Tasks.TaskCanceledException" />
<option name="timeStamp" value="2" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.ThreadAbortException" breakIfHandledByOtherCode="false" displayValue="System.Threading.ThreadAbortException" />
<option name="timeStamp" value="3" />
</breakpoint>
</breakpoints>
</breakpoint-manager>
<watches-manager> <watches-manager>
<configuration name="CppProject"> <configuration name="CppProject">
<watch expression="((class ModelClass &amp;) (*(*(*this).m_Application).m_object[0]))" /> <watch expression="((class ModelClass &amp;) (*(*(*this).m_Application).m_object[0]))" />

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 # Visual Studio Version 17
VisualStudioVersion = 17.9.34607.119 VisualStudioVersion = 17.9.34607.119
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "enginecustom", "enginecustom\enginecustom.vcxproj", "{92CF56C4-76BB-40D4-8FE5-36C15F5F127A}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KhaoticCore", "enginecustom\enginecustom.vcxproj", "{92CF56C4-76BB-40D4-8FE5-36C15F5F127A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KhaoticDemo", "KhaoticDemo\KhaoticDemo.vcxproj", "{9E5EF415-5337-4EED-AE23-EDC4B1FFF455}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution 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|x64.Build.0 = Release|x64
{92CF56C4-76BB-40D4-8FE5-36C15F5F127A}.Release|x86.ActiveCfg = Release|Win32 {92CF56C4-76BB-40D4-8FE5-36C15F5F127A}.Release|x86.ActiveCfg = Release|Win32
{92CF56C4-76BB-40D4-8FE5-36C15F5F127A}.Release|x86.Build.0 = 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 EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@@ -2,13 +2,13 @@
Khaotic Engine Reborn reprend comme base le moteur Khaotic Engine pour lui ajouter plus de fonctionalité. 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). 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 ## Installation
@@ -36,13 +36,20 @@ This **DirectX11** based engine uses **ImGui** with an abstraction layer to enab
**SHADER** : **SHADER** :
+ Sunlight shader + Sunlight shader
+ Cel Shading (Work In Progress) + Cel Shading
+ Skysphere
**Interface Graphique** : **Interface Graphique** :
+ Console link to the Logger object + Console link to the Logger object
+ Shader Manager + Shader Manager
+ Engine Settings + Engine Settings
+ Sunlight Settings
**Save And Load of a Scene** :
+ Save All Custom object
+ Save All Custom Texture for Custom Object
**Texture File** : **Texture File** :
@@ -53,10 +60,11 @@ This **DirectX11** based engine uses **ImGui** with an abstraction layer to enab
- Shader rendering - Shader rendering
- Frustum culling - Frustum culling
- Object rendering - Object rendering
- Terrain Instancing
## Demo : ## 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 : ## Engine Build by :
@@ -69,7 +77,7 @@ This **DirectX11** based engine uses **ImGui** with an abstraction layer to enab
- [@Harpie94](https://github.com/Harpie94) - [@Harpie94](https://github.com/Harpie94)
- [@axelpicou](https://github.com/axelpicou) - [@axelpicou](https://github.com/axelpicou)
- [@GolfOcean334](https://github.com/GolfOcean334) - [@GolfOcean334](https://github.com/GolfOcean334)
- [@sutabasuto](https://github.com/sutabasuto) - [@sutabasuto](https://github.com/sutabasuto)
**Moteur Reborn** : **Moteur Reborn** :

2924
doxygen.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
# This directory is a Syncthing folder marker.
# Do not delete.
folderID: pcxcb-kaux6
created: 2025-07-28T17:27:51+02:00

View File

@@ -0,0 +1,367 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/inc/system/Logger.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('_logger_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Logger.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#include &lt;fstream&gt;</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &lt;Windows.h&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;chrono&gt;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &lt;iomanip&gt;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &lt;sstream&gt;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &lt;filesystem&gt;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;deque&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;unordered_set&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;imgui.h&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="foldopen" id="foldopen00013" data-start="{" data-end="};">
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"><a class="line" href="class_logger.html"> 13</a></span><span class="keyword">class </span><a class="code hl_class" href="class_logger.html">Logger</a></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span>{</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00020" data-start="{" data-end="}">
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2"> 20</a></span> <span class="keyword">static</span> <a class="code hl_class" href="class_logger.html">Logger</a>&amp; <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Get</a>()</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> {</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">static</span> <a class="code hl_class" href="class_logger.html">Logger</a> instance;</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keywordflow">return</span> instance;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> }</div>
</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="class_logger.html#a0d21ab21689125fbb5e91584e4f37baa"> 29</a></span> <a class="code hl_function" href="class_logger.html#a0d21ab21689125fbb5e91584e4f37baa">Logger</a>(<a class="code hl_class" href="class_logger.html">Logger</a> <span class="keyword">const</span>&amp;) = <span class="keyword">delete</span>;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">void</span> operator=(<a class="code hl_class" href="class_logger.html">Logger</a> <span class="keyword">const</span>&amp;) = <span class="keyword">delete</span>;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="foldopen" id="foldopen00037" data-start="{" data-end="};">
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="class_logger.html#ac744681e23720966b5f430ec2060da36"> 37</a></span> <span class="keyword">enum class</span> <a class="code hl_enumeration" href="class_logger.html#ac744681e23720966b5f430ec2060da36">LogLevel</a></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> {</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> Info,</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> Warning,</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> Error,</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> Shutdown,</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> Initialize,</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> Update,</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> Render,</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> Input,</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> Physics,</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> Audio,</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> Network,</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> Scripting,</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> AI,</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> Resource,</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> Memory,</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> Debug,</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> Count <span class="comment">// Do not use this, it&#39;s just to get the number of log levels it must at the end</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> };</div>
</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// Return the size of the enum class LogLevel as a constant integer</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">int</span> LogLevelCount = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(LogLevel::Count);</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
<div class="foldopen" id="foldopen00065" data-start="{" data-end="};">
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="struct_logger_1_1_log_entry.html"> 65</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_logger_1_1_log_entry.html">LogEntry</a></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> {</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> std::string message;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <a class="code hl_enumeration" href="class_logger.html#ac744681e23720966b5f430ec2060da36">LogLevel</a> level;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> };</div>
</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="foldopen" id="foldopen00075" data-start="{" data-end="};">
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="struct_logger_1_1_log_level_info.html"> 75</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> {</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* name;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">int</span> value;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> ImVec4 color;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> };</div>
</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="foldopen" id="foldopen00088" data-start="{" data-end="}">
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="class_logger.html#a44f087518b3a028018146b07b2bc8e3b"> 88</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a> <a class="code hl_function" href="class_logger.html#a44f087518b3a028018146b07b2bc8e3b">GetLogLevelInfo</a>(<a class="code hl_enumeration" href="class_logger.html#ac744681e23720966b5f430ec2060da36">LogLevel</a> level)</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> {</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">switch</span> (level)</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> {</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">case</span> LogLevel::Info: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Info&quot;</span>, 0, ImVec4(0.0f, 1.0f, 0.0f, 1.0f) };</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">case</span> LogLevel::Warning: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Warning&quot;</span>, 1, ImVec4(1.0f, 1.0f, 0.0f, 1.0f) };</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">case</span> LogLevel::Error: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Error&quot;</span>, 2, ImVec4(1.0f, 0.0f, 0.0f, 1.0f) };</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">case</span> LogLevel::Shutdown: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;shutdown&quot;</span>, 3, ImVec4(0.5f, 0.0f, 0.0f, 1.0f) };</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">case</span> LogLevel::Initialize: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;initialize&quot;</span>, 4, ImVec4(0.0f, 1.0f, 1.0f, 1.0f) };</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">case</span> LogLevel::Update: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Update&quot;</span>, 5, ImVec4(1.0f, 0.0f, 1.0f, 1.0f) };</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">case</span> LogLevel::Render: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;render&quot;</span>, 6, ImVec4(1.0f, 1.0f, 1.0f, 1.0f) };</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">case</span> LogLevel::Input: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Input&quot;</span>, 7, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">case</span> LogLevel::Physics: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;physics&quot;</span>, 8, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">case</span> LogLevel::Audio: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Audio&quot;</span>, 9, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">case</span> LogLevel::Network: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Network&quot;</span>, 10, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">case</span> LogLevel::Scripting: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Scripting&quot;</span>, 11, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">case</span> LogLevel::AI: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;AI&quot;</span>, 12, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">case</span> LogLevel::Resource: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Resource&quot;</span>, 13, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">case</span> LogLevel::Memory: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Memory&quot;</span>, 14, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">case</span> LogLevel::Debug: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Debug&quot;</span>, 15, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">default</span>: <span class="keywordflow">return</span> <a class="code hl_struct" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>{ <span class="stringliteral">&quot;Unknown&quot;</span>, 16, ImVec4(1.0f, 1.0f, 1.0f, 1.0f) };</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> }</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> }</div>
</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="foldopen" id="foldopen00116" data-start="{" data-end="}">
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="class_logger.html#abc41bfb031d896170c7675fa96a6b30c"> 116</a></span> <a class="code hl_function" href="class_logger.html#abc41bfb031d896170c7675fa96a6b30c">Logger</a>()</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> {</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">char</span>* appdata = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">size_t</span> len;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> _dupenv_s(&amp;appdata, &amp;len, <span class="stringliteral">&quot;APPDATA&quot;</span>);</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (appdata == <span class="keyword">nullptr</span>)</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> {</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> m_appdataPath = <span class="stringliteral">&quot;log.log&quot;</span>;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> }</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> {</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> m_appdataPath = appdata;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> }</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> free(appdata);</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> std::string directoryPath = m_appdataPath + <span class="stringliteral">&quot;\\Khaotic Engine&quot;</span>;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> CreateDirectoryA(directoryPath.c_str(), NULL);</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <a class="code hl_function" href="class_logger.html#a62b3e15fa3c170e5090a846fd0e9283e">ManageLogFiles</a>(directoryPath);</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> m_logFilePath = directoryPath + <span class="stringliteral">&quot;\\&quot;</span> + m_logFileName;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="comment">// Enable only the Error warning and shutdown log levels</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; LogLevelCount; i++)</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> {</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> m_disabledLogLevels[i] = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (i == <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(LogLevel::Error) || i == <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(LogLevel::Warning) || i == <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(LogLevel::Shutdown))</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> {</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> m_disabledLogLevels[i] = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> }</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> }</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> }</div>
</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="foldopen" id="foldopen00158" data-start="{" data-end="}">
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4"> 158</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="keyword">const</span> std::string&amp; message, <span class="keyword">const</span> std::string&amp; fileName, <span class="keywordtype">int</span> lineNumber, <a class="code hl_enumeration" href="class_logger.html#ac744681e23720966b5f430ec2060da36">LogLevel</a> level = LogLevel::Info)</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> {</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">auto</span> now = std::chrono::system_clock::now();</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">auto</span> in_time_t = std::chrono::system_clock::to_time_t(now);</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> std::tm buf;</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> localtime_s(&amp;buf, &amp;in_time_t);</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="comment">// Obtenez les millisecondes <20> partir de maintenant</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">auto</span> ms = std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;(now.time_since_epoch()) % 1000;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="comment">// Utilisez LogLevelToString pour obtenir la cha<68>ne de caract<63>res du niveau de log</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> std::string levelStr = <a class="code hl_function" href="class_logger.html#a44f087518b3a028018146b07b2bc8e3b">GetLogLevelInfo</a>(level).name;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> std::stringstream ss;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> ss &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; std::put_time(&amp;buf, <span class="stringliteral">&quot;%Y-%m-%d&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;] &quot;</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; std::put_time(&amp;buf, <span class="stringliteral">&quot;%X&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::setfill(<span class="charliteral">&#39;0&#39;</span>) &lt;&lt; std::setw(3) &lt;&lt; ms.count() &lt;&lt; <span class="stringliteral">&quot;] &quot;</span></div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; levelStr &lt;&lt; <span class="stringliteral">&quot;] &quot;</span></div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; fileName &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; lineNumber &lt;&lt; <span class="stringliteral">&quot;] &quot;</span></div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> &lt;&lt; message;</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(ss.str(), level);</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> std::ofstream file(m_logFilePath, std::ios::app);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">if</span> (file.is_open())</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> {</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> file &lt;&lt; ss.str() &lt;&lt; std::endl;</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> file.close();</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> }</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> }</div>
</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
<div class="foldopen" id="foldopen00200" data-start="{" data-end="}">
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="class_logger.html#ac9b431db882705fe2f33687938874676"> 200</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_logger.html#ac9b431db882705fe2f33687938874676">Log</a>(<span class="keyword">const</span> std::string&amp; message, <a class="code hl_enumeration" href="class_logger.html#ac744681e23720966b5f430ec2060da36">LogLevel</a> level)</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> {</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="comment">// Si le niveau de log est d<>sactiv<69>, ne faites rien</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span> (m_disabledLogLevels[<a class="code hl_function" href="class_logger.html#a44f087518b3a028018146b07b2bc8e3b">GetLogLevelInfo</a>(level).value])</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> {</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> }</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> </div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">if</span> (logBuffer.size() &gt;= logBufferSize)</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> {</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> logBuffer.pop_front();</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> }</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> logBuffer.push_back({ message, level });</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> }</div>
</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="class_logger.html#a0fc50378d880b648733da39e61fa51e3"> 220</a></span> <span class="keyword">const</span> std::deque&lt;LogEntry&gt;&amp; <a class="code hl_function" href="class_logger.html#a0fc50378d880b648733da39e61fa51e3">GetLogBuffer</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> logBuffer; }</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="foldopen" id="foldopen00230" data-start="{" data-end="}">
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="class_logger.html#a62b3e15fa3c170e5090a846fd0e9283e"> 230</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_logger.html#a62b3e15fa3c170e5090a846fd0e9283e">ManageLogFiles</a>(<span class="keyword">const</span> std::string&amp; directoryPath)</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> {</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> std::vector&lt;std::filesystem::path&gt; logFiles;</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="comment">// Parcourez tous les fichiers dans le dossier</span></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; entry : std::filesystem::directory_iterator(directoryPath))</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> {</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="comment">// Si le fichier est un fichier de log, ajoutez-le <20> la liste</span></div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">if</span> (entry.path().extension() == <span class="stringliteral">&quot;.log&quot;</span>)</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> {</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> logFiles.push_back(entry.path());</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> }</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> }</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> </div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="comment">// Si nous avons plus de trois fichiers de log, supprimez le plus ancien</span></div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">while</span> (logFiles.size() &gt;= 3)</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> {</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="comment">// Triez les fichiers par date de modification, le plus ancien en premier</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> std::sort(logFiles.begin(), logFiles.end(), [](<span class="keyword">const</span> std::filesystem::path&amp; a, <span class="keyword">const</span> std::filesystem::path&amp; b)</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> {</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> return std::filesystem::last_write_time(a) &lt; std::filesystem::last_write_time(b);</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> });</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> </div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="comment">// Supprimez le fichier le plus ancien</span></div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> std::filesystem::remove(logFiles[0]);</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="comment">// Supprimez-le de la liste</span></div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> logFiles.erase(logFiles.begin());</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> }</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> </div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="comment">// Cr<43>ez un nouveau fichier de log pour cette ex<65>cution</span></div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <span class="keyword">auto</span> now = std::chrono::system_clock::now();</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">auto</span> in_time_t = std::chrono::system_clock::to_time_t(now);</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> std::tm buf;</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> localtime_s(&amp;buf, &amp;in_time_t);</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> std::stringstream ss;</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> ss &lt;&lt; <span class="stringliteral">&quot;Khaotic_log_&quot;</span> &lt;&lt; std::put_time(&amp;buf, <span class="stringliteral">&quot;%Y_%m_%d_%Hh%Mm%Ss&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;.log&quot;</span>;</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> m_logFileName = ss.str();</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> }</div>
</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> </div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <span class="keywordtype">bool</span> m_disabledLogLevels[LogLevelCount];</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> std::string m_logFilePath;</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> </div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> std::string m_filename;</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> std::string m_appdataPath;</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> std::string m_logFileName;</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> </div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> std::deque&lt;LogEntry&gt; logBuffer;</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> logBufferSize = 100;</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> </div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span>};</div>
</div>
<div class="ttc" id="aclass_logger_html"><div class="ttname"><a href="class_logger.html">Logger</a></div><div class="ttdef"><b>Definition</b> <a href="#l00013">Logger.h:14</a></div></div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a0d21ab21689125fbb5e91584e4f37baa"><div class="ttname"><a href="class_logger.html#a0d21ab21689125fbb5e91584e4f37baa">Logger::Logger</a></div><div class="ttdeci">Logger(Logger const &amp;)=delete</div></div>
<div class="ttc" id="aclass_logger_html_a0fc50378d880b648733da39e61fa51e3"><div class="ttname"><a href="class_logger.html#a0fc50378d880b648733da39e61fa51e3">Logger::GetLogBuffer</a></div><div class="ttdeci">const std::deque&lt; LogEntry &gt; &amp; GetLogBuffer() const</div><div class="ttdef"><b>Definition</b> <a href="#l00220">Logger.h:220</a></div></div>
<div class="ttc" id="aclass_logger_html_a44f087518b3a028018146b07b2bc8e3b"><div class="ttname"><a href="class_logger.html#a44f087518b3a028018146b07b2bc8e3b">Logger::GetLogLevelInfo</a></div><div class="ttdeci">static const LogLevelInfo GetLogLevelInfo(LogLevel level)</div><div class="ttdef"><b>Definition</b> <a href="#l00088">Logger.h:88</a></div></div>
<div class="ttc" id="aclass_logger_html_a62b3e15fa3c170e5090a846fd0e9283e"><div class="ttname"><a href="class_logger.html#a62b3e15fa3c170e5090a846fd0e9283e">Logger::ManageLogFiles</a></div><div class="ttdeci">void ManageLogFiles(const std::string &amp;directoryPath)</div><div class="ttdef"><b>Definition</b> <a href="#l00230">Logger.h:230</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="#l00158">Logger.h:158</a></div></div>
<div class="ttc" id="aclass_logger_html_abc41bfb031d896170c7675fa96a6b30c"><div class="ttname"><a href="class_logger.html#abc41bfb031d896170c7675fa96a6b30c">Logger::Logger</a></div><div class="ttdeci">Logger()</div><div class="ttdef"><b>Definition</b> <a href="#l00116">Logger.h:116</a></div></div>
<div class="ttc" id="aclass_logger_html_ac744681e23720966b5f430ec2060da36"><div class="ttname"><a href="class_logger.html#ac744681e23720966b5f430ec2060da36">Logger::LogLevel</a></div><div class="ttdeci">LogLevel</div><div class="ttdef"><b>Definition</b> <a href="#l00037">Logger.h:38</a></div></div>
<div class="ttc" id="aclass_logger_html_ac9b431db882705fe2f33687938874676"><div class="ttname"><a href="class_logger.html#ac9b431db882705fe2f33687938874676">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, LogLevel level)</div><div class="ttdef"><b>Definition</b> <a href="#l00200">Logger.h:200</a></div></div>
<div class="ttc" id="astruct_logger_1_1_log_entry_html"><div class="ttname"><a href="struct_logger_1_1_log_entry.html">Logger::LogEntry</a></div><div class="ttdef"><b>Definition</b> <a href="#l00065">Logger.h:66</a></div></div>
<div class="ttc" id="astruct_logger_1_1_log_level_info_html"><div class="ttname"><a href="struct_logger_1_1_log_level_info.html">Logger::LogLevelInfo</a></div><div class="ttdef"><b>Definition</b> <a href="#l00075">Logger.h:76</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_fa382d1760f3c58d964524ef7c4d69c1.html">inc</a></li><li class="navelem"><a class="el" href="dir_31afb4cde3071d47ca274e3f4ae3badb.html">system</a></li><li class="navelem"><b>Logger.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,152 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/src/system/Main.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('_main_8cpp_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Main.cpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#include &quot;system_class.h&quot;</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="keywordtype">int</span> WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR pScmdline, <span class="keywordtype">int</span> iCmdshow)</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span>{</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> <a class="code hl_class" href="classsystem__class.html">system_class</a>* System;</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> <span class="keywordtype">wchar_t</span> path[MAX_PATH];</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> HMODULE hmodule = GetModuleHandle(NULL);</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> <span class="keywordflow">if</span> (hmodule != NULL)</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> {</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> GetModuleFileName(hmodule, path, (<span class="keyword">sizeof</span>(path) / <span class="keyword">sizeof</span>(<span class="keywordtype">wchar_t</span>)));</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> }</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> std::filesystem::path exePath(path);</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> std::filesystem::path WFolder = exePath.parent_path();</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// Create the system object.</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> System = <span class="keyword">new</span> <a class="code hl_class" href="classsystem__class.html">system_class</a>;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// initialize and run the system object.</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> result = System-&gt;initialize();</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keywordflow">if</span> (result)</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> {</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;System initialized&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> System-&gt;send_path(path,WFolder);</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> System-&gt;run();</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> }</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// shutdown and release the system object.</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> System-&gt;shutdown();</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">delete</span> System;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> System = 0;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>}</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
<div class="ttc" id="aclasssystem__class_html"><div class="ttname"><a href="classsystem__class.html">system_class</a></div><div class="ttdef"><b>Definition</b> <a href="system__class_8h_source.html#l00020">system_class.h:21</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_9f969fb6181399983524402442d3614f.html">src</a></li><li class="navelem"><a class="el" href="dir_eca5a6ecd54f1e6167f92aa8e37ec00f.html">system</a></li><li class="navelem"><b>Main.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,182 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/src/system/Modellistclass.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('_modellistclass_8cpp_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Modellistclass.cpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#include &quot;modellistclass.h&quot;</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span>ModelListClass::ModelListClass()</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span>{</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> m_ModelInfoList = 0;</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span>}</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span>ModelListClass::ModelListClass(<span class="keyword">const</span> <a class="code hl_class" href="class_model_list_class.html">ModelListClass</a>&amp; other)</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span>{</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span>}</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span>ModelListClass::~ModelListClass()</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span>{</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span>}</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keywordtype">void</span> ModelListClass::Initialize(<span class="keywordtype">int</span> numModels)</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span>{</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keywordtype">int</span> i;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// Store the number of models.</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> m_modelCount = numModels;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="comment">// Create a list array of the model information.</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> m_ModelInfoList = <span class="keyword">new</span> ModelInfoType[m_modelCount];</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// Seed the random generator with the current time.</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> srand((<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)time(NULL));</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="comment">// Go through all the models and randomly generate the position.</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">for</span> (i = 0; i &lt; m_modelCount; i++)</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> {</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// Generate a random position in front of the viewer for the mode.</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> m_ModelInfoList[i].positionX = (((float)rand() - (float)rand()) / RAND_MAX) * 10.0f;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> m_ModelInfoList[i].positionY = (((float)rand() - (float)rand()) / RAND_MAX) * 10.0f;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> m_ModelInfoList[i].positionZ = ((((float)rand() - (float)rand()) / RAND_MAX) * 10.0f) + 5.0f;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> }</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span>}</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="keywordtype">void</span> ModelListClass::Shutdown()</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span>{</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="comment">// Release the model information list.</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">if</span> (m_ModelInfoList)</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> {</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">delete</span>[] m_ModelInfoList;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> m_ModelInfoList = 0;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> }</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span>}</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="keywordtype">int</span> ModelListClass::GetModelCount()</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span>{</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span> m_modelCount;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span>}</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="keywordtype">void</span> ModelListClass::GetData(<span class="keywordtype">int</span> index, <span class="keywordtype">float</span>&amp; positionX, <span class="keywordtype">float</span>&amp; positionY, <span class="keywordtype">float</span>&amp; positionZ)</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span>{</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> positionX = m_ModelInfoList[index].positionX;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> positionY = m_ModelInfoList[index].positionY;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> positionZ = m_ModelInfoList[index].positionZ;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span>}</div>
<div class="ttc" id="aclass_model_list_class_html"><div class="ttname"><a href="class_model_list_class.html">ModelListClass</a></div><div class="ttdef"><b>Definition</b> <a href="_modellistclass_8h_source.html#l00015">Modellistclass.h:16</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_9f969fb6181399983524402442d3614f.html">src</a></li><li class="navelem"><a class="el" href="dir_eca5a6ecd54f1e6167f92aa8e37ec00f.html">system</a></li><li class="navelem"><b>Modellistclass.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/inc/system/Modellistclass.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('_modellistclass_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Modellistclass.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef _MODELLISTCLASS_H_</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define _MODELLISTCLASS_H_</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">// INCLUDES //</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;time.h&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">// Class name: ModelListClass</span></div>
<div class="foldopen" id="foldopen00015" data-start="{" data-end="};">
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"><a class="line" href="class_model_list_class.html"> 15</a></span><span class="keyword">class </span><a class="code hl_class" href="class_model_list_class.html">ModelListClass</a></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span>{</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keyword">struct </span>ModelInfoType</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> {</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keywordtype">float</span> positionX, positionY, positionZ;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> };</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <a class="code hl_class" href="class_model_list_class.html">ModelListClass</a>();</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <a class="code hl_class" href="class_model_list_class.html">ModelListClass</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_model_list_class.html">ModelListClass</a>&amp;);</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <a class="code hl_class" href="class_model_list_class.html">~ModelListClass</a>();</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordtype">void</span> Initialize(<span class="keywordtype">int</span>);</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordtype">void</span> Shutdown();</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">int</span> GetModelCount();</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">void</span> GetData(<span class="keywordtype">int</span>, <span class="keywordtype">float</span>&amp;, <span class="keywordtype">float</span>&amp;, <span class="keywordtype">float</span>&amp;);</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">int</span> m_modelCount;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> ModelInfoType* m_ModelInfoList;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>};</div>
</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclass_model_list_class_html"><div class="ttname"><a href="class_model_list_class.html">ModelListClass</a></div><div class="ttdef"><b>Definition</b> <a href="#l00015">Modellistclass.h:16</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_fa382d1760f3c58d964524ef7c4d69c1.html">inc</a></li><li class="navelem"><a class="el" href="dir_31afb4cde3071d47ca274e3f4ae3badb.html">system</a></li><li class="navelem"><b>Modellistclass.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,195 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/src/system/Skybox.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('_skybox_8cpp_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Skybox.cpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#include &quot;Skybox.h&quot;</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="foldopen" id="foldopen00003" data-start="{" data-end="}">
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"><a class="line" href="class_skybox.html#a77a92db4492ed94ed4bd101b05ffb1f4"> 3</a></span><a class="code hl_function" href="class_skybox.html#a77a92db4492ed94ed4bd101b05ffb1f4">Skybox::Skybox</a>()</div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span>{</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span>}</div>
</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span>Skybox::~Skybox()</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span>{</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; texture : textures)</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> {</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> <span class="keywordflow">if</span> (texture)</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> {</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> texture-&gt;Release();</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> texture = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> }</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> }</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> textures.clear();</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> translations.clear();</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span>}</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="foldopen" id="foldopen00021" data-start="{" data-end="}">
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="class_skybox.html#af048306ba3fc893e485393452e8af429"> 21</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="class_skybox.html#af048306ba3fc893e485393452e8af429">Skybox::Initialize</a>(<a class="code hl_class" href="classd__3d__class.html">d_3d_class</a>* d3dClassRef)</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span>{</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> m_d3dClassRef = d3dClassRef;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span>}</div>
</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="foldopen" id="foldopen00026" data-start="{" data-end="}">
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="class_skybox.html#a583a0753edede891759ecb62cf82a86f"> 26</a></span><span class="keywordtype">object</span>* <a class="code hl_function" href="class_skybox.html#a583a0753edede891759ecb62cf82a86f">Skybox::ConstructSkybox</a>(<a class="code hl_class" href="classapplication__class.html">application_class</a>* app)</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span>{</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Construct skybox&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">char</span> modelFilename[128];</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> strcpy_s(modelFilename, <span class="stringliteral">&quot;assets/Model/OBJ/skysphere.obj&quot;</span>);</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> std::vector&lt;std::wstring&gt; skyboxTextures = {</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> L<span class="stringliteral">&quot;assets/Skybox/skybox.png&quot;</span>,</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> };</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_struct" href="struct_texture_container.html">TextureContainer</a> SkyboxTextures;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="comment">// Load the textures</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; textureFilename : skyboxTextures)</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> {</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> ID3D11ShaderResourceView* texture = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> HRESULT result = DirectX::CreateWICTextureFromFile(m_d3dClassRef-&gt;<a class="code hl_function" href="classd__3d__class.html#a0979aea3c4bb6815908fbe188fc1c67e">get_device</a>(), m_d3dClassRef-&gt;<a class="code hl_function" href="classd__3d__class.html#a4ad87066c014351689f12981234beadb">get_device_context</a>(), textureFilename.c_str(), <span class="keyword">nullptr</span>, &amp;texture);</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> {</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to load texture: &quot;</span> + std::string(textureFilename.begin(), textureFilename.end()), __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> }</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> SkyboxTextures.diffuse.push_back(texture);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> }</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="comment">// Create the model object</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> m_Skybox = <span class="keyword">new</span> <a class="code hl_class" href="classobject.html">object</a>(*app);</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> HRESULT result = m_Skybox-&gt;Initialize(m_d3dClassRef-&gt;<a class="code hl_function" href="classd__3d__class.html#a0979aea3c4bb6815908fbe188fc1c67e">get_device</a>(), m_d3dClassRef-&gt;<a class="code hl_function" href="classd__3d__class.html#a4ad87066c014351689f12981234beadb">get_device_context</a>(), modelFilename, SkyboxTextures);</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> {</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Could not initialize the skybox model object&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">delete</span> m_Skybox;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> }</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> m_Skybox-&gt;SetTranslateMatrix(XMMatrixTranslation(0.0f, 0.0f, 0.0f)); <span class="comment">// Set the initial translation of the skybox</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> m_Skybox-&gt;SetActiveShader(ShaderType::SKYBOX);</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span> m_Skybox; <span class="comment">// Return the constructed skybox object</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span>}</div>
</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
<div class="ttc" id="aclass_skybox_html_a583a0753edede891759ecb62cf82a86f"><div class="ttname"><a href="class_skybox.html#a583a0753edede891759ecb62cf82a86f">Skybox::ConstructSkybox</a></div><div class="ttdeci">object * ConstructSkybox(application_class *app)</div><div class="ttdef"><b>Definition</b> <a href="#l00026">Skybox.cpp:26</a></div></div>
<div class="ttc" id="aclass_skybox_html_a77a92db4492ed94ed4bd101b05ffb1f4"><div class="ttname"><a href="class_skybox.html#a77a92db4492ed94ed4bd101b05ffb1f4">Skybox::Skybox</a></div><div class="ttdeci">Skybox()</div><div class="ttdoc">Constructor for the Skybox class. Initializes the skybox with a reference to the d_3d_class instance.</div><div class="ttdef"><b>Definition</b> <a href="#l00003">Skybox.cpp:3</a></div></div>
<div class="ttc" id="aclass_skybox_html_af048306ba3fc893e485393452e8af429"><div class="ttname"><a href="class_skybox.html#af048306ba3fc893e485393452e8af429">Skybox::Initialize</a></div><div class="ttdeci">void Initialize(d_3d_class *d3dClassRef)</div><div class="ttdef"><b>Definition</b> <a href="#l00021">Skybox.cpp:21</a></div></div>
<div class="ttc" id="aclassapplication__class_html"><div class="ttname"><a href="classapplication__class.html">application_class</a></div><div class="ttdef"><b>Definition</b> <a href="application__class_8h_source.html#l00078">application_class.h:79</a></div></div>
<div class="ttc" id="aclassd__3d__class_html"><div class="ttname"><a href="classd__3d__class.html">d_3d_class</a></div><div class="ttdef"><b>Definition</b> <a href="d__3d__class_8h_source.html#l00030">d_3d_class.h:31</a></div></div>
<div class="ttc" id="aclassd__3d__class_html_a0979aea3c4bb6815908fbe188fc1c67e"><div class="ttname"><a href="classd__3d__class.html#a0979aea3c4bb6815908fbe188fc1c67e">d_3d_class::get_device</a></div><div class="ttdeci">ID3D11Device * get_device()</div><div class="ttdoc">Gets the Direct3D device.</div><div class="ttdef"><b>Definition</b> <a href="d__3d__class_8cpp_source.html#l00557">d_3d_class.cpp:557</a></div></div>
<div class="ttc" id="aclassd__3d__class_html_a4ad87066c014351689f12981234beadb"><div class="ttname"><a href="classd__3d__class.html#a4ad87066c014351689f12981234beadb">d_3d_class::get_device_context</a></div><div class="ttdeci">ID3D11DeviceContext * get_device_context()</div><div class="ttdoc">Gets the Direct3D device context.</div><div class="ttdef"><b>Definition</b> <a href="d__3d__class_8cpp_source.html#l00563">d_3d_class.cpp:563</a></div></div>
<div class="ttc" id="aclassobject_html"><div class="ttname"><a href="classobject.html">object</a></div><div class="ttdef"><b>Definition</b> <a href="object_8h_source.html#l00029">object.h:30</a></div></div>
<div class="ttc" id="astruct_texture_container_html"><div class="ttname"><a href="struct_texture_container.html">TextureContainer</a></div><div class="ttdef"><b>Definition</b> <a href="model__class_8h_source.html#l00033">model_class.h:34</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_9f969fb6181399983524402442d3614f.html">src</a></li><li class="navelem"><a class="el" href="dir_eca5a6ecd54f1e6167f92aa8e37ec00f.html">system</a></li><li class="navelem"><b>Skybox.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/inc/system/Skybox.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('_skybox_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Skybox.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;d_3d_class.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;object.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="foldopen" id="foldopen00007" data-start="{" data-end="};">
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"><a class="line" href="class_skybox.html"> 7</a></span><span class="keyword">class </span><a class="code hl_class" href="class_skybox.html">Skybox</a></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span>{</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> <a class="code hl_function" href="class_skybox.html#a77a92db4492ed94ed4bd101b05ffb1f4">Skybox</a>();</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <a class="code hl_class" href="class_skybox.html">~Skybox</a>();</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_skybox.html#af048306ba3fc893e485393452e8af429">Initialize</a>(<a class="code hl_class" href="classd__3d__class.html">d_3d_class</a>* d3dClassRef); <span class="comment">// Get all the required references</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordtype">object</span>* <a class="code hl_function" href="class_skybox.html#a583a0753edede891759ecb62cf82a86f">ConstructSkybox</a>(<a class="code hl_class" href="classapplication__class.html">application_class</a>* app);</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="comment">// Variables</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> std::vector&lt;ID3D11ShaderResourceView*&gt; textures;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> std::vector&lt;XMMATRIX&gt; translations;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_class" href="classd__3d__class.html">d_3d_class</a>* m_d3dClassRef; <span class="comment">// Reference to the d_3d_class instance</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">object</span>* m_Skybox;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>};</div>
</div>
<div class="ttc" id="aclass_skybox_html"><div class="ttname"><a href="class_skybox.html">Skybox</a></div><div class="ttdef"><b>Definition</b> <a href="#l00007">Skybox.h:8</a></div></div>
<div class="ttc" id="aclass_skybox_html_a583a0753edede891759ecb62cf82a86f"><div class="ttname"><a href="class_skybox.html#a583a0753edede891759ecb62cf82a86f">Skybox::ConstructSkybox</a></div><div class="ttdeci">object * ConstructSkybox(application_class *app)</div><div class="ttdef"><b>Definition</b> <a href="_skybox_8cpp_source.html#l00026">Skybox.cpp:26</a></div></div>
<div class="ttc" id="aclass_skybox_html_a77a92db4492ed94ed4bd101b05ffb1f4"><div class="ttname"><a href="class_skybox.html#a77a92db4492ed94ed4bd101b05ffb1f4">Skybox::Skybox</a></div><div class="ttdeci">Skybox()</div><div class="ttdoc">Constructor for the Skybox class. Initializes the skybox with a reference to the d_3d_class instance.</div><div class="ttdef"><b>Definition</b> <a href="_skybox_8cpp_source.html#l00003">Skybox.cpp:3</a></div></div>
<div class="ttc" id="aclass_skybox_html_af048306ba3fc893e485393452e8af429"><div class="ttname"><a href="class_skybox.html#af048306ba3fc893e485393452e8af429">Skybox::Initialize</a></div><div class="ttdeci">void Initialize(d_3d_class *d3dClassRef)</div><div class="ttdef"><b>Definition</b> <a href="_skybox_8cpp_source.html#l00021">Skybox.cpp:21</a></div></div>
<div class="ttc" id="aclassapplication__class_html"><div class="ttname"><a href="classapplication__class.html">application_class</a></div><div class="ttdef"><b>Definition</b> <a href="application__class_8h_source.html#l00078">application_class.h:79</a></div></div>
<div class="ttc" id="aclassd__3d__class_html"><div class="ttname"><a href="classd__3d__class.html">d_3d_class</a></div><div class="ttdef"><b>Definition</b> <a href="d__3d__class_8h_source.html#l00030">d_3d_class.h:31</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_fa382d1760f3c58d964524ef7c4d69c1.html">inc</a></li><li class="navelem"><a class="el" href="dir_31afb4cde3071d47ca274e3f4ae3badb.html">system</a></li><li class="navelem"><b>Skybox.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,525 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/src/shader/alpha_map_shader_class.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('alpha__map__shader__class_8cpp_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">alpha_map_shader_class.cpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#include &quot;alpha_map_shader_class.h&quot;</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span>alpha_map_shader_class::alpha_map_shader_class()</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span>{</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> vertex_shader_ = 0;</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> pixel_shader_ = 0;</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> layout_ = 0;</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> matrix_buffer_ = 0;</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> sample_state_ = 0;</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span>}</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span>alpha_map_shader_class::alpha_map_shader_class(<span class="keyword">const</span> <a class="code hl_class" href="classalpha__map__shader__class.html">alpha_map_shader_class</a>&amp; other)</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span>{</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span>}</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span>alpha_map_shader_class::~alpha_map_shader_class()</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span>{</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span>}</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keywordtype">bool</span> alpha_map_shader_class::initialize(ID3D11Device* device, HWND hwnd)</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span>{</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing alpha_map_shader_class&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordtype">wchar_t</span> vsFilename[128];</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">wchar_t</span> psFilename[128];</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">int</span> error;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="comment">// Set the filename of the vertex shader.</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> error = wcscpy_s(vsFilename, 128, L<span class="stringliteral">&quot;src/hlsl/alphamap.vs&quot;</span>);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> {</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error copying string &quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> }</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// Set the filename of the pixel shader.</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> error = wcscpy_s(psFilename, 128, L<span class="stringliteral">&quot;src/hlsl/alphamap.ps&quot;</span>);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> {</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error copying string&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> }</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="comment">// initialize the vertex and pixel shaders.</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> result = initialize_shader(device, hwnd, vsFilename, psFilename);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> {</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error initializing shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> }</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span>}</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="keywordtype">void</span> alpha_map_shader_class::shutdown()</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span>{</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="comment">// shutdown the vertex and pixel shaders as well as the related objects.</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> shutdown_shader();</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span>}</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="keywordtype">bool</span> alpha_map_shader_class::render(ID3D11DeviceContext* deviceContext, <span class="keywordtype">int</span> indexCount, XMMATRIX worldMatrix, XMMATRIX viewMatrix, XMMATRIX projectionMatrix,</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> ID3D11ShaderResourceView* texture1, ID3D11ShaderResourceView* texture2, ID3D11ShaderResourceView* texture3)</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span>{</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="comment">// Set the shader parameters that it will use for rendering.</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> result = set_shader_parameters(deviceContext, worldMatrix, viewMatrix, projectionMatrix, texture1, texture2, texture3);</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> {</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error setting shader parameters&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> }</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="comment">// Now render the prepared buffers with the shader.</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> render_shader(deviceContext, indexCount);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span>}</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="keywordtype">bool</span> alpha_map_shader_class::initialize_shader(ID3D11Device* device, HWND hwnd, WCHAR* vsFilename, WCHAR* psFilename)</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span>{</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> HRESULT result;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> ID3D10Blob* errorMessage;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> ID3D10Blob* vertexShaderBuffer;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> ID3D10Blob* pixelShaderBuffer;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> D3D11_INPUT_ELEMENT_DESC polygonLayout[3];</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numElements;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> D3D11_BUFFER_DESC matrixBufferDesc;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> D3D11_SAMPLER_DESC samplerDesc;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="comment">// initialize the pointers this function will use to null.</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> errorMessage = 0;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> vertexShaderBuffer = 0;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> pixelShaderBuffer = 0;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="comment">// Compile the vertex shader code.</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> result = D3DCompileFromFile(vsFilename, NULL, NULL, <span class="stringliteral">&quot;AlphaMapVertexShader&quot;</span>, <span class="stringliteral">&quot;vs_5_0&quot;</span>, D3D10_SHADER_ENABLE_STRICTNESS, 0,</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> &amp;vertexShaderBuffer, &amp;errorMessage);</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> {</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="comment">// If the shader failed to compile it should have writen something to the error message.</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">if</span> (errorMessage)</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> {</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> output_shader_error_message(errorMessage, hwnd, vsFilename);</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> }</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="comment">// If there was nothing in the error message then it simply could not find the shader file itself.</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> {</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error compiling shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> }</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> }</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> </div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="comment">// Compile the pixel shader code.</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> result = D3DCompileFromFile(psFilename, NULL, NULL, <span class="stringliteral">&quot;AlphaMapPixelShader&quot;</span>, <span class="stringliteral">&quot;ps_5_0&quot;</span>, D3D10_SHADER_ENABLE_STRICTNESS, 0,</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> &amp;pixelShaderBuffer, &amp;errorMessage);</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> {</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="comment">// If the shader failed to compile it should have writen something to the error message.</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span> (errorMessage)</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> output_shader_error_message(errorMessage, hwnd, psFilename);</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> }</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="comment">// If there was nothing in the error message then it simply could not find the file itself.</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> {</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error compiling shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> }</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> }</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> </div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="comment">// Create the vertex shader from the buffer.</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> result = device-&gt;CreateVertexShader(vertexShaderBuffer-&gt;GetBufferPointer(), vertexShaderBuffer-&gt;GetBufferSize(), NULL, &amp;vertex_shader_);</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> {</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error creating vertex shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> }</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="comment">// Create the pixel shader from the buffer.</span></div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> result = device-&gt;CreatePixelShader(pixelShaderBuffer-&gt;GetBufferPointer(), pixelShaderBuffer-&gt;GetBufferSize(), NULL, &amp;pixel_shader_);</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> {</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error creating pixel shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> }</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="comment">// Create the vertex input layout description.</span></div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> polygonLayout[0].SemanticName = <span class="stringliteral">&quot;POSITION&quot;</span>;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> polygonLayout[0].SemanticIndex = 0;</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> polygonLayout[0].Format = DXGI_FORMAT_R32G32B32_FLOAT;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> polygonLayout[0].InputSlot = 0;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> polygonLayout[0].AlignedByteOffset = 0;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> polygonLayout[0].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> polygonLayout[0].InstanceDataStepRate = 0;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> polygonLayout[1].SemanticName = <span class="stringliteral">&quot;TEXCOORD&quot;</span>;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> polygonLayout[1].SemanticIndex = 0;</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> polygonLayout[1].Format = DXGI_FORMAT_R32G32_FLOAT;</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> polygonLayout[1].InputSlot = 0;</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> polygonLayout[1].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> polygonLayout[1].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> polygonLayout[1].InstanceDataStepRate = 0;</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> polygonLayout[2].SemanticName = <span class="stringliteral">&quot;NORMAL&quot;</span>;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> polygonLayout[2].SemanticIndex = 0;</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> polygonLayout[2].Format = DXGI_FORMAT_R32G32B32_FLOAT;</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> polygonLayout[2].InputSlot = 0;</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> polygonLayout[2].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> polygonLayout[2].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> polygonLayout[2].InstanceDataStepRate = 0;</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> </div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="comment">// Get a count of the elements in the layout.</span></div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> numElements = <span class="keyword">sizeof</span>(polygonLayout) / <span class="keyword">sizeof</span>(polygonLayout[0]);</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> </div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="comment">// Create the vertex input layout.</span></div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> result = device-&gt;CreateInputLayout(polygonLayout, numElements, vertexShaderBuffer-&gt;GetBufferPointer(),</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> vertexShaderBuffer-&gt;GetBufferSize(), &amp;layout_);</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> {</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error creating input layout&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> }</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> </div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="comment">// Release the vertex shader buffer and pixel shader buffer since they are no longer needed.</span></div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> vertexShaderBuffer-&gt;Release();</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> vertexShaderBuffer = 0;</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> </div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> pixelShaderBuffer-&gt;Release();</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> pixelShaderBuffer = 0;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> </div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="comment">// Setup the description of the dynamic matrix constant buffer that is in the vertex shader.</span></div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> matrixBufferDesc.Usage = D3D11_USAGE_DYNAMIC;</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> matrixBufferDesc.ByteWidth = <span class="keyword">sizeof</span>(matrix_buffer_type);</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> matrixBufferDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> matrixBufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> matrixBufferDesc.MiscFlags = 0;</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> matrixBufferDesc.StructureByteStride = 0;</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="comment">// Create the constant buffer pointer so we can access the vertex shader constant buffer from within this class.</span></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> result = device-&gt;CreateBuffer(&amp;matrixBufferDesc, NULL, &amp;matrix_buffer_);</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> {</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error creating constant buffer&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> }</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="comment">// Create a texture sampler state description.</span></div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> samplerDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> samplerDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP;</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> samplerDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP;</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> samplerDesc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP;</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> samplerDesc.MipLODBias = 0.0f;</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> samplerDesc.MaxAnisotropy = 1;</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> samplerDesc.ComparisonFunc = D3D11_COMPARISON_ALWAYS;</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> samplerDesc.BorderColor[0] = 0;</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> samplerDesc.BorderColor[1] = 0;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> samplerDesc.BorderColor[2] = 0;</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> samplerDesc.BorderColor[3] = 0;</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> samplerDesc.MinLOD = 0;</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> samplerDesc.MaxLOD = D3D11_FLOAT32_MAX;</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="comment">// Create the texture sampler state.</span></div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> result = device-&gt;CreateSamplerState(&amp;samplerDesc, &amp;sample_state_);</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> {</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error creating sampler state&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> }</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> </div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Shader initialized&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> </div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span>}</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> </div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span><span class="keywordtype">void</span> alpha_map_shader_class::shutdown_shader()</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span>{</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Shutting down shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> </div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="comment">// Release the sampler state.</span></div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">if</span> (sample_state_)</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> {</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Releasing sampler state&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> sample_state_-&gt;Release();</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> sample_state_ = 0;</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Sampler state released&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> }</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> </div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <span class="comment">// Release the matrix constant buffer.</span></div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">if</span> (matrix_buffer_)</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> {</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Releasing constant buffer&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> matrix_buffer_-&gt;Release();</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> matrix_buffer_ = 0;</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Constant buffer released&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> }</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> </div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="comment">// Release the layout.</span></div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">if</span> (layout_)</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> {</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Releasing layout&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> layout_-&gt;Release();</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> layout_ = 0;</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Layout released&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> }</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> </div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="comment">// Release the pixel shader.</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">if</span> (pixel_shader_)</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> {</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Releasing pixel shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> pixel_shader_-&gt;Release();</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> pixel_shader_ = 0;</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Pixel shader released&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> }</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> </div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <span class="comment">// Release the vertex shader.</span></div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">if</span> (vertex_shader_)</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> {</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Releasing vertex shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> vertex_shader_-&gt;Release();</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> vertex_shader_ = 0;</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Vertex shader released&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> }</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> </div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Shader shutdown complete&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> </div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span>}</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> </div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> </div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span><span class="keywordtype">void</span> alpha_map_shader_class::output_shader_error_message(ID3D10Blob* errorMessage, HWND hwnd, WCHAR* shaderFilename)</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span>{</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">char</span>* compileErrors;</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> bufferSize, i;</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> ofstream fout;</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> </div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> </div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> <span class="comment">// Get a pointer to the error message text buffer.</span></div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> compileErrors = (<span class="keywordtype">char</span>*)(errorMessage-&gt;GetBufferPointer());</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="comment">// Get the length of the message.</span></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> bufferSize = errorMessage-&gt;GetBufferSize();</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> </div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="comment">// Open a file to write the error message to.</span></div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> fout.open(<span class="stringliteral">&quot;shader-error.txt&quot;</span>);</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> </div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> <span class="comment">// Write out the error message.</span></div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">for</span> (i = 0; i &lt; bufferSize; i++)</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> {</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> fout &lt;&lt; compileErrors[i];</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> }</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> </div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="comment">// Close the file.</span></div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> fout.close();</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> </div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <span class="comment">// Release the error message.</span></div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> errorMessage-&gt;Release();</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> errorMessage = 0;</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> </div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="comment">// Pop a message up on the screen to notify the user to check the text file for compile errors.</span></div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> MessageBox(hwnd, L<span class="stringliteral">&quot;Error compiling shader. Check shader-error.txt for message.&quot;</span>, shaderFilename, MB_OK);</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> </div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span>}</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> </div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> </div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span><span class="keywordtype">bool</span> alpha_map_shader_class::set_shader_parameters(ID3D11DeviceContext* deviceContext, XMMATRIX worldMatrix, XMMATRIX viewMatrix, XMMATRIX projectionMatrix,</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> ID3D11ShaderResourceView* texture1, ID3D11ShaderResourceView* texture2, ID3D11ShaderResourceView* texture3)</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span>{</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> HRESULT result;</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> D3D11_MAPPED_SUBRESOURCE mappedResource;</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> matrix_buffer_type* dataPtr;</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferNumber;</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> </div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> </div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> <span class="comment">// Transpose the matrices to prepare them for the shader.</span></div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> worldMatrix = XMMatrixTranspose(worldMatrix);</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> viewMatrix = XMMatrixTranspose(viewMatrix);</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> projectionMatrix = XMMatrixTranspose(projectionMatrix);</div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> </div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <span class="comment">// Lock the constant buffer so it can be written to.</span></div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> result = deviceContext-&gt;Map(matrix_buffer_, 0, D3D11_MAP_WRITE_DISCARD, 0, &amp;mappedResource);</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> {</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error mapping constant buffer&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> }</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> </div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> <span class="comment">// Get a pointer to the data in the constant buffer.</span></div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> dataPtr = (matrix_buffer_type*)mappedResource.pData;</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> </div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <span class="comment">// Copy the matrices into the constant buffer.</span></div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> dataPtr-&gt;world = worldMatrix;</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> dataPtr-&gt;view = viewMatrix;</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> dataPtr-&gt;projection = projectionMatrix;</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> </div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> <span class="comment">// Unlock the constant buffer.</span></div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> deviceContext-&gt;Unmap(matrix_buffer_, 0);</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> </div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="comment">// Set the position of the constant buffer in the vertex shader.</span></div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> bufferNumber = 0;</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> </div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <span class="comment">// Finally set the constant buffer in the vertex shader with the updated values.</span></div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> deviceContext-&gt;VSSetConstantBuffers(bufferNumber, 1, &amp;matrix_buffer_);</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> </div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> <span class="comment">// Set shader texture resources in the pixel shader.</span></div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> deviceContext-&gt;PSSetShaderResources(0, 1, &amp;texture1);</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> deviceContext-&gt;PSSetShaderResources(1, 1, &amp;texture2);</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> deviceContext-&gt;PSSetShaderResources(2, 1, &amp;texture3);</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> </div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span>}</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> </div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> </div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span><span class="keywordtype">void</span> alpha_map_shader_class::render_shader(ID3D11DeviceContext* deviceContext, <span class="keywordtype">int</span> indexCount)</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span>{</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> </div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <span class="comment">// Set the vertex input layout.</span></div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> deviceContext-&gt;IASetInputLayout(layout_);</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> </div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <span class="comment">// Set the vertex and pixel shaders that will be used to render this triangle.</span></div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> deviceContext-&gt;VSSetShader(vertex_shader_, NULL, 0);</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> deviceContext-&gt;PSSetShader(pixel_shader_, NULL, 0);</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> </div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <span class="comment">// Set the sampler state in the pixel shader.</span></div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> deviceContext-&gt;PSSetSamplers(0, 1, &amp;sample_state_);</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> </div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> <span class="comment">// render the triangle.</span></div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> deviceContext-&gt;DrawIndexed(indexCount, 0, 0);</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> </div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span>}</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
<div class="ttc" id="aclassalpha__map__shader__class_html"><div class="ttname"><a href="classalpha__map__shader__class.html">alpha_map_shader_class</a></div><div class="ttdef"><b>Definition</b> <a href="alpha__map__shader__class_8h_source.html#l00020">alpha_map_shader_class.h:21</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_9f969fb6181399983524402442d3614f.html">src</a></li><li class="navelem"><a class="el" href="dir_b9b5903ed1b60456b17bbae9b6f189f3.html">shader</a></li><li class="navelem"><b>alpha_map_shader_class.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,166 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/inc/shader/alpha_map_shader_class.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('alpha__map__shader__class_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">alpha_map_shader_class.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef _ALPHAMAPSHADERCLASS_H_</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define _ALPHAMAPSHADERCLASS_H_</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">// INCLUDES //</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &quot;Logger.h&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;d3d11.h&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;d3dcompiler.h&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;directxmath.h&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;fstream&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="keyword">using namespace </span>DirectX;</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="keyword">using namespace </span>std;</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">// Class name: alpha_map_shader_class</span></div>
<div class="foldopen" id="foldopen00020" data-start="{" data-end="};">
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="classalpha__map__shader__class.html"> 20</a></span><span class="keyword">class </span><a class="code hl_class" href="classalpha__map__shader__class.html">alpha_map_shader_class</a></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span>{</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">struct </span>matrix_buffer_type</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> XMMATRIX world;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> XMMATRIX view;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> XMMATRIX projection;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> };</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <a class="code hl_class" href="classalpha__map__shader__class.html">alpha_map_shader_class</a>();</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_class" href="classalpha__map__shader__class.html">alpha_map_shader_class</a>(<span class="keyword">const</span> <a class="code hl_class" href="classalpha__map__shader__class.html">alpha_map_shader_class</a>&amp;);</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_class" href="classalpha__map__shader__class.html">~alpha_map_shader_class</a>();</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">bool</span> initialize(ID3D11Device*, HWND);</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">void</span> shutdown();</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">bool</span> render(ID3D11DeviceContext*, <span class="keywordtype">int</span>, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*);</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">bool</span> initialize_shader(ID3D11Device*, HWND, WCHAR*, WCHAR*);</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">void</span> shutdown_shader();</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">void</span> output_shader_error_message(ID3D10Blob*, HWND, WCHAR*);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">bool</span> set_shader_parameters(ID3D11DeviceContext*, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">void</span> render_shader(ID3D11DeviceContext*, <span class="keywordtype">int</span>);</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> ID3D11VertexShader* vertex_shader_;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> ID3D11PixelShader* pixel_shader_;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> ID3D11InputLayout* layout_;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> ID3D11Buffer* matrix_buffer_;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> ID3D11SamplerState* sample_state_;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span>};</div>
</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclassalpha__map__shader__class_html"><div class="ttname"><a href="classalpha__map__shader__class.html">alpha_map_shader_class</a></div><div class="ttdef"><b>Definition</b> <a href="#l00020">alpha_map_shader_class.h:21</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_fa382d1760f3c58d964524ef7c4d69c1.html">inc</a></li><li class="navelem"><a class="el" href="dir_a77fd64253ed7da2e528f6b352f899d7.html">shader</a></li><li class="navelem"><b>alpha_map_shader_class.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,189 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('annotated.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Class List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:dynsection.toggleLevel(1);">1</span><span onclick="javascript:dynsection.toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceecs.html" target="_self">ecs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classecs_1_1_component.html" target="_self">Component</a></td><td class="desc"></td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classecs_1_1_entity.html" target="_self">Entity</a></td><td class="desc"></td></tr>
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classecs_1_1_entity_manager.html" target="_self">EntityManager</a></td><td class="desc"></td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classecs_1_1_identity_component.html" target="_self">IdentityComponent</a></td><td class="desc"></td></tr>
<tr id="row_0_4_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classecs_1_1_model_path_component.html" target="_self">ModelPathComponent</a></td><td class="desc"></td></tr>
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classecs_1_1_physics_component.html" target="_self">PhysicsComponent</a></td><td class="desc"></td></tr>
<tr id="row_0_6_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classecs_1_1_render_component.html" target="_self">RenderComponent</a></td><td class="desc"></td></tr>
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classecs_1_1_render_system.html" target="_self">RenderSystem</a></td><td class="desc"></td></tr>
<tr id="row_0_8_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classecs_1_1_shader_component.html" target="_self">ShaderComponent</a></td><td class="desc"></td></tr>
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classecs_1_1_transform_component.html" target="_self">TransformComponent</a></td><td class="desc"></td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classalpha__map__shader__class.html" target="_self">alpha_map_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classapplication__class.html" target="_self">application_class</a></td><td class="desc"></td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classbitmap__class.html" target="_self">bitmap_class</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classcamera__class.html" target="_self">camera_class</a></td><td class="desc"></td></tr>
<tr id="row_5_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classcelshade__class.html" target="_self">celshade_class</a></td><td class="desc"></td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classcolor__shader__class.html" target="_self">color_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_7_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classd__3d__class.html" target="_self">d_3d_class</a></td><td class="desc"></td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdepth__shader__class.html" target="_self">depth_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_9_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdisplay__plane__class.html" target="_self">display_plane_class</a></td><td class="desc"></td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classfont__class.html" target="_self">font_class</a></td><td class="desc"></td></tr>
<tr id="row_11_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classfont__shader__class.html" target="_self">font_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classfps__class.html" target="_self">fps_class</a></td><td class="desc"></td></tr>
<tr id="row_13_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classfps__limiter.html" target="_self">fps_limiter</a></td><td class="desc"></td></tr>
<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classfrustum.html" target="_self">frustum</a></td><td class="desc"></td></tr>
<tr id="row_15_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_frustum_class.html" target="_self">FrustumClass</a></td><td class="desc"></td></tr>
<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classimgui_manager.html" target="_self">imguiManager</a></td><td class="desc"></td></tr>
<tr id="row_17_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structinput.html" target="_self">input</a></td><td class="desc"></td></tr>
<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classinput__class.html" target="_self">input_class</a></td><td class="desc"></td></tr>
<tr id="row_19_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classlight__class.html" target="_self">light_class</a></td><td class="desc"></td></tr>
<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classlight__map__shader__class.html" target="_self">light_map_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_21_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classlight__shader__class.html" target="_self">light_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_22_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_22_" class="arrow" onclick="dynsection.toggleFolder('22_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_logger.html" target="_self">Logger</a></td><td class="desc"></td></tr>
<tr id="row_22_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logger_1_1_log_entry.html" target="_self">LogEntry</a></td><td class="desc"></td></tr>
<tr id="row_22_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logger_1_1_log_level_info.html" target="_self">LogLevelInfo</a></td><td class="desc"></td></tr>
<tr id="row_23_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmaster__shader.html" target="_self">master_shader</a></td><td class="desc"></td></tr>
<tr id="row_24_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_24_" class="arrow" onclick="dynsection.toggleFolder('24_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmodel__class.html" target="_self">model_class</a></td><td class="desc"></td></tr>
<tr id="row_24_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmodel__class_1_1_face.html" target="_self">Face</a></td><td class="desc"></td></tr>
<tr id="row_24_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmodel__class_1_1_model_type.html" target="_self">ModelType</a></td><td class="desc"></td></tr>
<tr id="row_24_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmodel__class_1_1_normal.html" target="_self">Normal</a></td><td class="desc"></td></tr>
<tr id="row_24_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmodel__class_1_1_temp_vertex_type.html" target="_self">TempVertexType</a></td><td class="desc"></td></tr>
<tr id="row_24_4_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmodel__class_1_1_texture.html" target="_self">Texture</a></td><td class="desc"></td></tr>
<tr id="row_24_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmodel__class_1_1_vector_type.html" target="_self">VectorType</a></td><td class="desc"></td></tr>
<tr id="row_24_6_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmodel__class_1_1_vertex.html" target="_self">Vertex</a></td><td class="desc"></td></tr>
<tr id="row_24_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmodel__class_1_1_vertex_type.html" target="_self">VertexType</a></td><td class="desc"></td></tr>
<tr id="row_25_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_model_list_class.html" target="_self">ModelListClass</a></td><td class="desc"></td></tr>
<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmulti__texture__shader__class.html" target="_self">multi_texture_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_27_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classnormal__map__shader__class.html" target="_self">normal_map_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classobject.html" target="_self">object</a></td><td class="desc"></td></tr>
<tr id="row_29_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classphysics.html" target="_self">physics</a></td><td class="desc"></td></tr>
<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classposition__class.html" target="_self">position_class</a></td><td class="desc"></td></tr>
<tr id="row_31_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classreflection__shader__class.html" target="_self">reflection_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classrefraction__shader__class.html" target="_self">refraction_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_33_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classrender__texture__class.html" target="_self">render_texture_class</a></td><td class="desc"></td></tr>
<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classscene__manager.html" target="_self">scene_manager</a></td><td class="desc"></td></tr>
<tr id="row_35_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classscene_manager.html" target="_self">sceneManager</a></td><td class="desc"></td></tr>
<tr id="row_36_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classshader__manager__class.html" target="_self">shader_manager_class</a></td><td class="desc"></td></tr>
<tr id="row_37_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classshadow__map.html" target="_self">shadow_map</a></td><td class="desc"></td></tr>
<tr id="row_38_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_skybox.html" target="_self">Skybox</a></td><td class="desc"></td></tr>
<tr id="row_39_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classskybox__shader__class.html" target="_self">skybox_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_40_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classspec__map__shader__class.html" target="_self">spec_map_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_41_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsprite__class.html" target="_self">sprite_class</a></td><td class="desc"></td></tr>
<tr id="row_42_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classstats.html" target="_self">stats</a></td><td class="desc"></td></tr>
<tr id="row_43_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsunlight__shader__class.html" target="_self">sunlight_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsystem__class.html" target="_self">system_class</a></td><td class="desc"></td></tr>
<tr id="row_45_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtext__class.html" target="_self">text_class</a></td><td class="desc"></td></tr>
<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtexture__class.html" target="_self">texture_class</a></td><td class="desc"></td></tr>
<tr id="row_47_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtexture__shader__class.html" target="_self">texture_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_texture_container.html" target="_self">TextureContainer</a></td><td class="desc"></td></tr>
<tr id="row_49_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtimer__class.html" target="_self">timer_class</a></td><td class="desc"></td></tr>
<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtranslate__shader__class.html" target="_self">translate_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_51_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtransparent__shader__class.html" target="_self">transparent_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwater__shader__class.html" target="_self">water_shader_class</a></td><td class="desc"></td></tr>
<tr id="row_53_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwidget__entry.html" target="_self">widget_entry</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,68 @@
var annotated_dup =
[
[ "ecs", "namespaceecs.html", [
[ "Component", "classecs_1_1_component.html", "classecs_1_1_component" ],
[ "Entity", "classecs_1_1_entity.html", "classecs_1_1_entity" ],
[ "EntityManager", "classecs_1_1_entity_manager.html", "classecs_1_1_entity_manager" ],
[ "IdentityComponent", "classecs_1_1_identity_component.html", "classecs_1_1_identity_component" ],
[ "ModelPathComponent", "classecs_1_1_model_path_component.html", "classecs_1_1_model_path_component" ],
[ "PhysicsComponent", "classecs_1_1_physics_component.html", "classecs_1_1_physics_component" ],
[ "RenderComponent", "classecs_1_1_render_component.html", "classecs_1_1_render_component" ],
[ "RenderSystem", "classecs_1_1_render_system.html", "classecs_1_1_render_system" ],
[ "ShaderComponent", "classecs_1_1_shader_component.html", "classecs_1_1_shader_component" ],
[ "TransformComponent", "classecs_1_1_transform_component.html", "classecs_1_1_transform_component" ]
] ],
[ "alpha_map_shader_class", "classalpha__map__shader__class.html", null ],
[ "application_class", "classapplication__class.html", "classapplication__class" ],
[ "bitmap_class", "classbitmap__class.html", null ],
[ "camera_class", "classcamera__class.html", "classcamera__class" ],
[ "celshade_class", "classcelshade__class.html", null ],
[ "color_shader_class", "classcolor__shader__class.html", null ],
[ "d_3d_class", "classd__3d__class.html", "classd__3d__class" ],
[ "depth_shader_class", "classdepth__shader__class.html", null ],
[ "display_plane_class", "classdisplay__plane__class.html", null ],
[ "font_class", "classfont__class.html", null ],
[ "font_shader_class", "classfont__shader__class.html", null ],
[ "fps_class", "classfps__class.html", null ],
[ "fps_limiter", "classfps__limiter.html", "classfps__limiter" ],
[ "frustum", "classfrustum.html", "classfrustum" ],
[ "FrustumClass", "class_frustum_class.html", null ],
[ "imguiManager", "classimgui_manager.html", "classimgui_manager" ],
[ "input", "structinput.html", null ],
[ "input_class", "classinput__class.html", null ],
[ "light_class", "classlight__class.html", null ],
[ "light_map_shader_class", "classlight__map__shader__class.html", null ],
[ "light_shader_class", "classlight__shader__class.html", null ],
[ "Logger", "class_logger.html", "class_logger" ],
[ "master_shader", "classmaster__shader.html", null ],
[ "model_class", "classmodel__class.html", "classmodel__class" ],
[ "ModelListClass", "class_model_list_class.html", null ],
[ "multi_texture_shader_class", "classmulti__texture__shader__class.html", null ],
[ "normal_map_shader_class", "classnormal__map__shader__class.html", null ],
[ "object", "classobject.html", null ],
[ "physics", "classphysics.html", null ],
[ "position_class", "classposition__class.html", null ],
[ "reflection_shader_class", "classreflection__shader__class.html", null ],
[ "refraction_shader_class", "classrefraction__shader__class.html", null ],
[ "render_texture_class", "classrender__texture__class.html", null ],
[ "scene_manager", "classscene__manager.html", "classscene__manager" ],
[ "sceneManager", "classscene_manager.html", null ],
[ "shader_manager_class", "classshader__manager__class.html", null ],
[ "shadow_map", "classshadow__map.html", null ],
[ "Skybox", "class_skybox.html", "class_skybox" ],
[ "skybox_shader_class", "classskybox__shader__class.html", null ],
[ "spec_map_shader_class", "classspec__map__shader__class.html", null ],
[ "sprite_class", "classsprite__class.html", null ],
[ "stats", "classstats.html", null ],
[ "sunlight_shader_class", "classsunlight__shader__class.html", null ],
[ "system_class", "classsystem__class.html", null ],
[ "text_class", "classtext__class.html", null ],
[ "texture_class", "classtexture__class.html", null ],
[ "texture_shader_class", "classtexture__shader__class.html", null ],
[ "TextureContainer", "struct_texture_container.html", null ],
[ "timer_class", "classtimer__class.html", null ],
[ "translate_shader_class", "classtranslate__shader__class.html", null ],
[ "transparent_shader_class", "classtransparent__shader__class.html", null ],
[ "water_shader_class", "classwater__shader__class.html", null ],
[ "widget_entry", "structwidget__entry.html", null ]
];

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,530 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/inc/system/application_class.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('application__class_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">application_class.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef _APPLICATIONCLASS_H_</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define _APPLICATIONCLASS_H_</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">// MY CLASS INCLUDES //</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &quot;d_3d_class.h&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &quot;camera_class.h&quot;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &quot;light_class.h&quot;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;bitmap_class.h&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &quot;sprite_class.h&quot;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &quot;timer_class.h&quot;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &quot;font_shader_class.h&quot;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &quot;font_class.h&quot;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &quot;text_class.h&quot;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &quot;fps_class.h&quot;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &quot;input_class.h&quot;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &quot;shader_manager_class.h&quot;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &quot;modellistclass.h&quot;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &quot;position_class.h&quot;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &quot;frustumclass.h&quot;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &quot;render_texture_class.h&quot;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include &quot;display_plane_class.h&quot;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include &quot;translate_shader_class.h&quot;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include &quot;reflection_shader_class.h&quot;</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include &quot;physics.h&quot;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include &quot;frustum.h&quot;</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include &quot;skybox.h&quot;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include &quot;shadow_map.h&quot;</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include &quot;stats.h&quot;</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#include &quot;ecs/components/identity_component.h&quot;</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#include &quot;ecs/components/render_component.h&quot;</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#include &quot;ecs/components/transform_component.h&quot;</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#include &quot;ecs/components/physics_component.h&quot;</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#include &quot;ecs/components/shader_component.h&quot;</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#include &quot;ecs/systems/render_system.h&quot;</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#include &quot;ecs/components/model_path_component.h&quot;</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor">#include &lt;fstream&gt;</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor">#include &lt;WICTextureLoader.h&gt;</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor">#include &lt;comdef.h&gt;</span> <span class="comment">// Pour _com_error</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor">#include &lt;chrono&gt;</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor">#include &lt;thread&gt;</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="preprocessor">#include &lt;map&gt;</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="preprocessor">#include &lt;algorithm&gt;</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="preprocessor">#include &lt;DirectXMath.h&gt;</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="preprocessor">#include &lt;mutex&gt;</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="preprocessor">#include &lt;filesystem&gt;</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor">#include &quot;ecs/entity_manager.h&quot;</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment">// GLOBALS //</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="keyword">constexpr</span> <span class="keywordtype">bool</span> full_screen = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="keyword">constexpr</span> <span class="keywordtype">float</span> screen_depth = 1000.0f;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="keyword">constexpr</span> <span class="keywordtype">float</span> screen_near = 0.3f;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="keyword">static</span> std::map&lt;std::string, std::shared_ptr&lt;model_class&gt;&gt; g_model_cache;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="foldopen" id="foldopen00067" data-start="{" data-end="};">
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="structinput.html"> 67</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structinput.html">input</a></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>{</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">bool</span> key_left = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">bool</span> key_right = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">bool</span> key_up = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">bool</span> key_down = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span>};</div>
</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment">// Class name: application_class</span></div>
<div class="foldopen" id="foldopen00078" data-start="{" data-end="};">
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="classapplication__class.html"> 78</a></span><span class="keyword">class </span><a class="code hl_class" href="classapplication__class.html">application_class</a></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span>{</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_function" href="classapplication__class.html#ab3b678dde613c8568a2124482ed45a73">application_class</a>();</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_class" href="classapplication__class.html">~application_class</a>();</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">virtual</span> <a class="code hl_class" href="classd__3d__class.html">d_3d_class</a>* get_direct_3d();</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">void</span> set_direct_3d(<a class="code hl_class" href="classd__3d__class.html">d_3d_class</a>* direct_3d) { direct_3d_ = direct_3d; };</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="classapplication__class.html#a69a84a1345d56bb8d81e7d3427ce969e"> 94</a></span> <a class="code hl_class" href="classrender__texture__class.html">render_texture_class</a>* <a class="code hl_function" href="classapplication__class.html#a69a84a1345d56bb8d81e7d3427ce969e">get_scene_texture</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> scene_texture_; };</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="classapplication__class.html#a3ec69cb088888911ab1e32490c39f3e6"> 99</a></span> <a class="code hl_class" href="classrender__texture__class.html">render_texture_class</a>* <a class="code hl_function" href="classapplication__class.html#a3ec69cb088888911ab1e32490c39f3e6">get_render_texture</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> render_texture_; };</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="classapplication__class.html#a8d993ac51d86d09c2b03b612ed914a74"> 104</a></span> <a class="code hl_class" href="classrender__texture__class.html">render_texture_class</a>* <a class="code hl_function" href="classapplication__class.html#a8d993ac51d86d09c2b03b612ed914a74">get_refraction_texture</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> refraction_texture_; };</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="classapplication__class.html#a25592af930b0ee6c34d667fc0f8d69e1"> 109</a></span> <a class="code hl_class" href="classrender__texture__class.html">render_texture_class</a>* <a class="code hl_function" href="classapplication__class.html#a25592af930b0ee6c34d667fc0f8d69e1">get_reflection_texture</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> reflection_texture_; };</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classapplication__class.html#a7b0482e4b79a4c3bf32e1f40ccb48678">create_big_cube</a>(<span class="keywordtype">int</span> side_count);</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classapplication__class.html#a3be4f6532857c72283450ce43907f309">initialize</a>(<span class="keywordtype">int</span> screen_width, <span class="keywordtype">int</span> screen_height, HWND hwdn, <span class="keywordtype">bool</span> is_vulkan);</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#af2ef20892819f21303002a0f3005e73d">shutdown</a>();</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classapplication__class.html#a0d9b9cbfbe1a2efa52606fcbbdfb40ca">frame</a>(<a class="code hl_class" href="classinput__class.html">input_class</a>*);</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#aa583e172e6a2d45cb9b4841634b9eea4">physics_thread_function</a>();</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="classapplication__class.html#a118113b8ab8ad1065b032d57150fa7dd"> 146</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classapplication__class.html#a118113b8ab8ad1065b032d57150fa7dd">get_physics_tick_rate</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> physics_tick_rate_; };</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="classapplication__class.html#a8b03fc0a380762e268606262914e55a8"> 151</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a8b03fc0a380762e268606262914e55a8">set_physics_tick_rate</a>(<span class="keywordtype">int</span> physics_tick_rate) { physics_tick_rate_ = physics_tick_rate; };</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classapplication__class.html#ae4bf8de77c3edaac71aaba75193c3be9">get_screen_width</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#aca66fefd8c7c473e2700a69f13a4cb6b">set_screen_width</a>(<span class="keywordtype">int</span> screen_width);</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classapplication__class.html#a468b1ed714bae99f4f2fcf7a93407bfb">get_screen_height</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#ae5ed92985e95d9f34a152cae2d7345d7">set_screen_height</a>(<span class="keywordtype">int</span> screen_height);</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"><a class="line" href="classapplication__class.html#ad724a8b8867f487bc602406ae20e1301"> 180</a></span> <span class="keywordtype">float</span> <a class="code hl_function" href="classapplication__class.html#ad724a8b8867f487bc602406ae20e1301">get_speed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> speed_; };</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="classapplication__class.html#a7b1a11759ecc6b80542c7f4f3cf4e8e9"> 187</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a7b1a11759ecc6b80542c7f4f3cf4e8e9">set_speed</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> speed) { this-&gt;speed_ = speed; };</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> </div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#aaa09afdc106fb3f82788c42272811657">add_cube</a>();</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a5ade90e873b7b6a31c148672dd0305cb">delete_entity_by_id</a>(<span class="keywordtype">int</span> entity_id);</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a9a39dfe69bca6fe96a339ab47b2f0539">add_kobject</a>(std::wstring&amp; filepath);</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"><a class="line" href="classapplication__class.html#a4ead7c7ba402fb9619000d201c0cf95f"> 207</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a4ead7c7ba402fb9619000d201c0cf95f">set_path</a>(WCHAR* path) { path_ = path; };</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"><a class="line" href="classapplication__class.html#a5dbf967cc3d2a08b07c13b6aa44fafe1"> 211</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a5dbf967cc3d2a08b07c13b6aa44fafe1">set_w_folder</a>(<span class="keyword">const</span> std::filesystem::path&amp; w_folder) { w_folder_ = w_folder; };</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"><a class="line" href="classapplication__class.html#a2f6b5156b585944bb912d93fa1595af2"> 216</a></span> std::filesystem::path <a class="code hl_function" href="classapplication__class.html#a2f6b5156b585944bb912d93fa1595af2">get_w_folder</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> w_folder_; };</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classapplication__class.html#afe1ff7bf39935cae054c8f3743e923e1">get_terrain_entity_count</a>();</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> </div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"><a class="line" href="classapplication__class.html#a32624a7be14230d2120de382c2c2e298"> 227</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classapplication__class.html#a32624a7be14230d2120de382c2c2e298">get_object_id</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_id_; };</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"><a class="line" href="classapplication__class.html#ae586e8e9431b6d6168c335a9ae0f08ca"> 232</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#ae586e8e9431b6d6168c335a9ae0f08ca">set_object_id</a>(<span class="keywordtype">int</span> object_id) { object_id_ = object_id; };</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#aca20ad22e0c95f5404e3c47a11317025">generate_terrain</a>();</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a69bce73916e1180493ac74030dbb77ba">delete_terrain</a>();</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> XMVECTOR <a class="code hl_function" href="classapplication__class.html#a54f4915b1878fde4dc60ff26be5712ee">get_light_position</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> XMVECTOR <a class="code hl_function" href="classapplication__class.html#a85c04a3f2d050cb750d7986ebc7e76a5">get_light_color</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a1715fe1c06659636399b60e859e6b2ae">set_light_position</a>(<span class="keywordtype">int</span> index, XMVECTOR position);</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a79b165193754e7361b0a467f5e70c72b">set_light_color</a>(<span class="keywordtype">int</span> index, XMVECTOR color);</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"><a class="line" href="classapplication__class.html#a9b1ca112e8d8fd01a7061d9a638e9f3e"> 271</a></span> std::vector&lt;light_class*&gt; <a class="code hl_function" href="classapplication__class.html#a9b1ca112e8d8fd01a7061d9a638e9f3e">get_lights</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lights_; };</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"><a class="line" href="classapplication__class.html#ad757f3dc7ad49b74643fca7947889ed6"> 276</a></span> <a class="code hl_class" href="classlight__class.html">light_class</a>* <a class="code hl_function" href="classapplication__class.html#ad757f3dc7ad49b74643fca7947889ed6">get_sun_light</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> sun_light_; };</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> </div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"><a class="line" href="classapplication__class.html#afea1cdf2706dc45cdae0396b7948f2b0"> 283</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classapplication__class.html#afea1cdf2706dc45cdae0396b7948f2b0">get_should_quit</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> should_quit_; };</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"><a class="line" href="classapplication__class.html#a96068cd56a5bb2ed0c02db3b70272be2"> 289</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a96068cd56a5bb2ed0c02db3b70272be2">set_should_quit</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> should_quit) { should_quit_ = should_quit; };</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> </div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"><a class="line" href="classapplication__class.html#a1bdce1b8c5a23cd60dd35c441a670601"> 297</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a1bdce1b8c5a23cd60dd35c441a670601">set_cel_shading</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> enable) { enable_cel_shading_ = enable; };</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> </div>
<div class="foldopen" id="foldopen00303" data-start="{" data-end="}">
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"><a class="line" href="classapplication__class.html#a642858510be15dc3d2890ccc5f6df31f"> 303</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a642858510be15dc3d2890ccc5f6df31f">set_vsync</a>(<span class="keywordtype">bool</span> vsync) { </div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> vsync_enabled_ = vsync; </div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">if</span> (direct_3d_) {</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> direct_3d_-&gt;<a class="code hl_function" href="classd__3d__class.html#ab0f3edaca84f6371ebbdb6291a60b59c">set_vsync</a>(vsync); </div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Setting Vsync to &quot;</span> + std::to_string(vsync), __FILE__, __LINE__);</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> }</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> };</div>
</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> </div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"><a class="line" href="classapplication__class.html#aa79efde57fb87b64bf95b47ee87c3bff"> 315</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classapplication__class.html#aa79efde57fb87b64bf95b47ee87c3bff">get_vsync</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vsync_enabled_; };</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> </div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"><a class="line" href="classapplication__class.html#a692f521b7d27a89a95848dd912342c1f"> 321</a></span> HWND <a class="code hl_function" href="classapplication__class.html#a692f521b7d27a89a95848dd912342c1f">get_hwnd</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> hwnd_; };</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"><a class="line" href="classapplication__class.html#a40392869f0ff57982fef8098dd3354fe"> 326</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a40392869f0ff57982fef8098dd3354fe">set_hwnd</a>(HWND hwnd) { hwnd_ = hwnd; };</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> </div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"><a class="line" href="classapplication__class.html#aac1577a0fe08e8007980b6b1778da478"> 332</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classapplication__class.html#aac1577a0fe08e8007980b6b1778da478">is_windowed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> windowed_; };</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"><a class="line" href="classapplication__class.html#a7faa4a3a5150086acaec8bc223a4bf7e"> 337</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a7faa4a3a5150086acaec8bc223a4bf7e">set_windowed</a>(<span class="keywordtype">bool</span> windowed) { windowed_ = windowed; };</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> </div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"><a class="line" href="classapplication__class.html#ab0418282e11e00cebb3a63747384a24b"> 344</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#ab0418282e11e00cebb3a63747384a24b">set_window_size</a>(<span class="keyword">const</span> ImVec2 size) { window_size_ = size; };</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"><a class="line" href="classapplication__class.html#a3c76d728525b1ee4558a41383f9f2217"> 350</a></span> ImVec2 <a class="code hl_function" href="classapplication__class.html#a3c76d728525b1ee4558a41383f9f2217">get_window_size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> window_size_; };</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"><a class="line" href="classapplication__class.html#a1bbbc70e5a68278f410e9b2b93942230"> 355</a></span> <span class="keywordtype">float</span> <a class="code hl_function" href="classapplication__class.html#a1bbbc70e5a68278f410e9b2b93942230">get_aspect_ratio</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(screen_width_) / <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(screen_height_); };</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"><a class="line" href="classapplication__class.html#ab1924a7177c04594ec5dab7fe4c0104f"> 361</a></span> <a class="code hl_class" href="classphysics.html">physics</a>* <a class="code hl_function" href="classapplication__class.html#ab1924a7177c04594ec5dab7fe4c0104f">get_physics</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> physics_; };</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> </div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="comment">// ----------------------------------- //</span></div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> <span class="comment">// ------------- Culling ------------- //</span></div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> <span class="comment">// ----------------------------------- //</span></div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> </div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"><a class="line" href="classapplication__class.html#a29f11f9f0ab0f41af7b1b657d9310209"> 371</a></span> <a class="code hl_class" href="classfrustum.html">frustum</a> <a class="code hl_function" href="classapplication__class.html#a29f11f9f0ab0f41af7b1b657d9310209">get_frustum</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> frustum_culling_; };</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"><a class="line" href="classapplication__class.html#abd47278db9d786b80833c787900c145b"> 376</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#abd47278db9d786b80833c787900c145b">set_frustum</a>(<span class="keyword">const</span> <a class="code hl_class" href="classfrustum.html">frustum</a>&amp; <a class="code hl_class" href="classfrustum.html">frustum</a>) { frustum_culling_ = <a class="code hl_class" href="classfrustum.html">frustum</a>; };</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> </div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a7b959a12a5574b263556937f1c94e255">construct_frustum</a>();</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> </div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"><a class="line" href="classapplication__class.html#acc0c095b41d72833d974229cc64d0689"> 388</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classapplication__class.html#acc0c095b41d72833d974229cc64d0689">get_render_count</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> render_count_; };</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"><a class="line" href="classapplication__class.html#a1f607939202c0cb805df935eb38dabe7"> 393</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a1f607939202c0cb805df935eb38dabe7">set_render_count</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> render_count) { render_count_ = render_count; };</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"><a class="line" href="classapplication__class.html#aa271ce1d2803a5a1fcd9becad215ecb0"> 399</a></span> <span class="keywordtype">float</span> <a class="code hl_function" href="classapplication__class.html#aa271ce1d2803a5a1fcd9becad215ecb0">get_frustum_tolerance</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> frustum_culling_tolerance_; };</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"><a class="line" href="classapplication__class.html#a2f41c2a8f5f18aca2859b02e804c7a1a"> 405</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#a2f41c2a8f5f18aca2859b02e804c7a1a">set_frustum_tolerance</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> frustum_tolerance) { frustum_culling_tolerance_ = frustum_tolerance; };</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> </div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="classapplication__class.html#abf98d275e281e99e54a68d3b53ba7b94"> 411</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classapplication__class.html#abf98d275e281e99e54a68d3b53ba7b94">get_can_fixed_update</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> can_fixed_update_; };</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"><a class="line" href="classapplication__class.html#aa0a44059eae0a8df0cb65a7962d598ed"> 416</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#aa0a44059eae0a8df0cb65a7962d598ed">set_can_fixed_update</a>(<span class="keywordtype">bool</span> can_fixed_update) { can_fixed_update_ = can_fixed_update; };</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> </div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"><a class="line" href="classapplication__class.html#a0e7b21b1421fd52bb3740fb25f26e4a7"> 422</a></span> ID3D11ShaderResourceView* <a class="code hl_function" href="classapplication__class.html#a0e7b21b1421fd52bb3740fb25f26e4a7">get_back_buffer_srv</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> back_buffer_srv_;};</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> </div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"><a class="line" href="classapplication__class.html#adfd9213758db871e03aada83dee961b3"> 428</a></span> <a class="code hl_class" href="classstats.html">stats</a>* <a class="code hl_function" href="classapplication__class.html#adfd9213758db871e03aada83dee961b3">get_stats</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> stats_; };</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"><a class="line" href="classapplication__class.html#a8a2103b81e5a5f73ebce656b96467ee3"> 433</a></span> <a class="code hl_class" href="classfps__class.html">fps_class</a>* <a class="code hl_function" href="classapplication__class.html#a8a2103b81e5a5f73ebce656b96467ee3">get_fps</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> fps_; };</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> </div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"><a class="line" href="classapplication__class.html#ab6487040a8f3f90c62eaaeec09504071"> 439</a></span> <a class="code hl_class" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a>* <a class="code hl_function" href="classapplication__class.html#ab6487040a8f3f90c62eaaeec09504071">get_entity_manager</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> entity_manager_.get(); };</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classapplication__class.html#aa453b06f65ab6344907f0c65670de202">update_stats_after_modification</a>();</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"><a class="line" href="classapplication__class.html#a6eff226c2686a261a394b1c046096c5e"> 450</a></span> std::map&lt;std::string, std::shared_ptr&lt;model_class&gt;&gt;&amp; <a class="code hl_function" href="classapplication__class.html#a6eff226c2686a261a394b1c046096c5e">get_model_cache</a>() { <span class="keywordflow">return</span> g_model_cache; }</div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> </div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> <span class="keywordtype">bool</span> render(<span class="keywordtype">float</span>, <span class="keywordtype">float</span>, <span class="keywordtype">float</span>, <span class="keywordtype">float</span>, <span class="keywordtype">float</span>);</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> <span class="keywordtype">bool</span> render_physics(<span class="keywordtype">float</span> delta_time);</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> <span class="keywordtype">bool</span> update_mouse_strings(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">bool</span>);</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <span class="keywordtype">bool</span> update_fps();</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> <span class="keywordtype">bool</span> update_render_count_string(<span class="keywordtype">int</span>);</div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> <span class="keywordtype">bool</span> render_scene_to_texture(<span class="keywordtype">float</span>);</div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> <span class="keywordtype">bool</span> render_refraction_to_texture();</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> <span class="keywordtype">bool</span> render_reflection_to_texture();</div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> <span class="keywordtype">bool</span> render_pass(XMFLOAT4* diffuse, XMFLOAT4* position, XMFLOAT4* ambient, XMMATRIX view, XMMATRIX projection);</div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> </div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> <span class="keywordtype">void</span> update_skybox_position();</div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> <span class="keywordtype">void</span> culling_thread_function();</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> </div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span>public :</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> std::vector&lt;ID3D11ShaderResourceView*&gt; textures;</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> </div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span>private :</div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> </div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> <span class="comment">// Thread de culling</span></div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> std::thread culling_thread_;</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> std::atomic&lt;bool&gt; culling_active_;</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> std::mutex objects_mutex_;</div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span> </div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> std::mutex terrain_mutex_;</div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> std::vector&lt;std::tuple&lt;float, float, float, std::string, int&gt;&gt; terrain_generation_data_;</div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> <span class="keywordtype">bool</span> terrain_generation_ready_;</div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> <span class="keywordtype">int</span> next_terrain_object_id_;</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> </div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> <span class="comment">// ------------------------------------- //</span></div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> <span class="comment">// ------------- DIRECT3D -------------- //</span></div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> <span class="comment">// ------------------------------------- //</span></div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> </div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> <a class="code hl_class" href="classd__3d__class.html">d_3d_class</a>* direct_3d_;</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> IDXGISwapChain* swap_chain_;</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> <a class="code hl_class" href="classmodel__class.html">model_class</a>* model_,* ground_model_, * wall_model_, * bath_model_, * water_model_;</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> <a class="code hl_class" href="class_model_list_class.html">ModelListClass</a>* model_list_;</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> <span class="keywordtype">bool</span> vsync_enabled_ = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> </div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> HWND hwnd_;</div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> <span class="keywordtype">bool</span> windowed_;</div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> </div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span> <span class="comment">// ------------------------------------- //</span></div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> <span class="comment">// ------------- RENDERING ------------- //</span></div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span> <span class="comment">// ------------------------------------- //</span></div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span> </div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> XMMATRIX base_view_matrix_;</div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> <a class="code hl_class" href="classrender__texture__class.html">render_texture_class</a>* render_texture_, * refraction_texture_, * reflection_texture_;</div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> <a class="code hl_class" href="classrender__texture__class.html">render_texture_class</a>* scene_texture_;</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> <a class="code hl_class" href="classdisplay__plane__class.html">display_plane_class</a>* display_plane_;</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span> <span class="keywordtype">int</span> screen_width_, screen_height_;</div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> <a class="code hl_class" href="classcamera__class.html">camera_class</a>* camera_;</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> <a class="code hl_class" href="classcamera__class.html">camera_class</a>* sun_camera_;</div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span> <a class="code hl_class" href="classcamera__class.html">camera_class</a>* active_camera_;</div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> <a class="code hl_class" href="classposition__class.html">position_class</a>* position_;</div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span> </div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span> <a class="code hl_class" href="classshadow__map.html">shadow_map</a>* shadow_map_;</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> ID3D11ShaderResourceView* shadow_map_srv_;</div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span> </div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> <span class="comment">// ------------------------------------ //</span></div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span> <span class="comment">// ------------- OBJECTS -------------- //</span></div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> <span class="comment">// ------------------------------------ //</span></div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> </div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> std::unique_ptr&lt;ecs::EntityManager&gt; entity_manager_;</div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span> </div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> <span class="keywordtype">object</span>* selected_object_;</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span> </div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> <span class="keywordtype">float</span> speed_ = 0.1f; <span class="comment">// speed for the demo spinning object</span></div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> std::vector&lt;object*&gt; imported_object_;</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> <span class="keywordtype">int</span> object_id_ = 0;</div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span> std::vector&lt;object*&gt; skybox_;</div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> </div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span> <span class="comment">// ----------------------------------- //</span></div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span> <span class="comment">// ------------- LIGHTS -------------- //</span></div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span> <span class="comment">// ----------------------------------- //</span></div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span> </div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> <a class="code hl_class" href="classlight__class.html">light_class</a>* m_light_;</div>
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span> std::vector&lt;light_class*&gt; lights_;</div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span> <span class="keywordtype">int</span> num_lights_;</div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span> <a class="code hl_class" href="classlight__class.html">light_class</a>* sun_light_;</div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span> XMFLOAT3 true_light_position_;</div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span> <a class="code hl_class" href="classmodel__class.html">model_class</a>* light_model_;</div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"> 600</span> </div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span> <span class="comment">// ----------------------------------- //</span></div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span> <span class="comment">// ------------- SHADERS ------------- //</span></div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span> <span class="comment">// ----------------------------------- //</span></div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span> </div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span> <a class="code hl_class" href="classshader__manager__class.html">shader_manager_class</a>* shader_manager_;</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span> <a class="code hl_class" href="classfont__shader__class.html">font_shader_class</a>* font_shader_;</div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span> <a class="code hl_class" href="classbitmap__class.html">bitmap_class</a>* bitmap_;</div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span> <a class="code hl_class" href="classsprite__class.html">sprite_class</a>* sprite_;</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span> <span class="keywordtype">bool</span> enable_cel_shading_;</div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> </div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span> <span class="comment">// ----------------------------------- //</span></div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span> <span class="comment">// ------------ VARIABLES ------------ //</span></div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> <span class="comment">// ----------------------------------- //</span></div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> </div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span> <span class="keywordtype">float</span> water_height_, water_translation_;</div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span> <span class="keywordtype">wchar_t</span>* path_;</div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span> std::filesystem::path w_folder_;</div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"> 618</span> </div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span> <span class="comment">// ------------------------------------------------- //</span></div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> <span class="comment">// ------------- FPS AND INFO ON SCREEN ------------ //</span></div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span> <span class="comment">// ------------------------------------------------- //</span></div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> </div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span> <a class="code hl_class" href="classtimer__class.html">timer_class</a>* timer_;</div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span> <a class="code hl_class" href="classtext__class.html">text_class</a>* mouse_strings_;</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span> <a class="code hl_class" href="classtext__class.html">text_class</a>* render_count_string_;</div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span> <a class="code hl_class" href="classfont__class.html">font_class</a>* font_;</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span> <a class="code hl_class" href="classfps__class.html">fps_class</a>* fps_;</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span> <a class="code hl_class" href="classtext__class.html">text_class</a>* fps_string_;</div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span> <span class="keywordtype">int</span> previous_fps_;</div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span> </div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span> <span class="comment">// ------------------------------------------------- //</span></div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span> <span class="comment">// ------------------- OTHER ----------------------- //</span></div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span> <span class="comment">// ------------------------------------------------- //</span></div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span> </div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"> 635</span> <span class="keywordtype">bool</span> should_quit_;</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span> <a class="code hl_class" href="classphysics.html">physics</a>* physics_;</div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</span> <span class="keywordtype">float</span> gravity_;</div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</span> XMVECTOR previous_position_;</div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</span> ImVec2 window_size_;</div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span> <span class="keywordtype">int</span> physics_tick_rate_ = 50;</div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span> <span class="keywordtype">bool</span> can_fixed_update_ = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</span> std::thread physics_thread_;</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span> </div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"> 644</span> ID3D11Texture2D* back_buffer_texture_;</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span> ID3D11ShaderResourceView* back_buffer_srv_;</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span> </div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span> <a class="code hl_class" href="classstats.html">stats</a>* stats_;</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span> </div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span> <span class="comment">// ------------------------------------------------- //</span></div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> <span class="comment">// ------------------- Culling --------------------- //</span></div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span> <span class="comment">// ------------------------------------------------- //</span></div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> </div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> <a class="code hl_class" href="classfrustum.html">frustum</a> frustum_culling_;</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span> <span class="keywordtype">int</span> render_count_;</div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span> <span class="keywordtype">float</span> frustum_culling_tolerance_ = 5.f;</div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span> </div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span> <span class="comment">// ------------------------------------------------- //</span></div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span> <span class="comment">// -------------------- Input ---------------------- //</span></div>
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno"> 659</span> <span class="comment">// ------------------------------------------------- //</span></div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"> 660</span> </div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span> <a class="code hl_struct" href="structinput.html">input</a> inputs_;</div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"> 662</span> <span class="keywordtype">bool</span> tab_was_pressed_;</div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"> 663</span>};</div>
</div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"> 664</span> </div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
<div class="ttc" id="aclass_model_list_class_html"><div class="ttname"><a href="class_model_list_class.html">ModelListClass</a></div><div class="ttdef"><b>Definition</b> <a href="_modellistclass_8h_source.html#l00015">Modellistclass.h:16</a></div></div>
<div class="ttc" id="aclassapplication__class_html"><div class="ttname"><a href="classapplication__class.html">application_class</a></div><div class="ttdef"><b>Definition</b> <a href="#l00078">application_class.h:79</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a0d9b9cbfbe1a2efa52606fcbbdfb40ca"><div class="ttname"><a href="classapplication__class.html#a0d9b9cbfbe1a2efa52606fcbbdfb40ca">application_class::frame</a></div><div class="ttdeci">virtual bool frame(input_class *)</div><div class="ttdoc">Run the main loop of the application. This function will handle the main loop, including rendering an...</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l00760">application_class.cpp:760</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a0e7b21b1421fd52bb3740fb25f26e4a7"><div class="ttname"><a href="classapplication__class.html#a0e7b21b1421fd52bb3740fb25f26e4a7">application_class::get_back_buffer_srv</a></div><div class="ttdeci">ID3D11ShaderResourceView * get_back_buffer_srv() const</div><div class="ttdef"><b>Definition</b> <a href="#l00422">application_class.h:422</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a118113b8ab8ad1065b032d57150fa7dd"><div class="ttname"><a href="classapplication__class.html#a118113b8ab8ad1065b032d57150fa7dd">application_class::get_physics_tick_rate</a></div><div class="ttdeci">int get_physics_tick_rate() const</div><div class="ttdef"><b>Definition</b> <a href="#l00146">application_class.h:146</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a1715fe1c06659636399b60e859e6b2ae"><div class="ttname"><a href="classapplication__class.html#a1715fe1c06659636399b60e859e6b2ae">application_class::set_light_position</a></div><div class="ttdeci">void set_light_position(int index, XMVECTOR position)</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01748">application_class.cpp:1748</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a1bbbc70e5a68278f410e9b2b93942230"><div class="ttname"><a href="classapplication__class.html#a1bbbc70e5a68278f410e9b2b93942230">application_class::get_aspect_ratio</a></div><div class="ttdeci">float get_aspect_ratio() const</div><div class="ttdef"><b>Definition</b> <a href="#l00355">application_class.h:355</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a1bdce1b8c5a23cd60dd35c441a670601"><div class="ttname"><a href="classapplication__class.html#a1bdce1b8c5a23cd60dd35c441a670601">application_class::set_cel_shading</a></div><div class="ttdeci">void set_cel_shading(const bool enable)</div><div class="ttdef"><b>Definition</b> <a href="#l00297">application_class.h:297</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a1f607939202c0cb805df935eb38dabe7"><div class="ttname"><a href="classapplication__class.html#a1f607939202c0cb805df935eb38dabe7">application_class::set_render_count</a></div><div class="ttdeci">void set_render_count(const int render_count)</div><div class="ttdef"><b>Definition</b> <a href="#l00393">application_class.h:393</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a25592af930b0ee6c34d667fc0f8d69e1"><div class="ttname"><a href="classapplication__class.html#a25592af930b0ee6c34d667fc0f8d69e1">application_class::get_reflection_texture</a></div><div class="ttdeci">render_texture_class * get_reflection_texture() const</div><div class="ttdef"><b>Definition</b> <a href="#l00109">application_class.h:109</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a29f11f9f0ab0f41af7b1b657d9310209"><div class="ttname"><a href="classapplication__class.html#a29f11f9f0ab0f41af7b1b657d9310209">application_class::get_frustum</a></div><div class="ttdeci">frustum get_frustum() const</div><div class="ttdef"><b>Definition</b> <a href="#l00371">application_class.h:371</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a2f41c2a8f5f18aca2859b02e804c7a1a"><div class="ttname"><a href="classapplication__class.html#a2f41c2a8f5f18aca2859b02e804c7a1a">application_class::set_frustum_tolerance</a></div><div class="ttdeci">void set_frustum_tolerance(const float frustum_tolerance)</div><div class="ttdef"><b>Definition</b> <a href="#l00405">application_class.h:405</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a2f6b5156b585944bb912d93fa1595af2"><div class="ttname"><a href="classapplication__class.html#a2f6b5156b585944bb912d93fa1595af2">application_class::get_w_folder</a></div><div class="ttdeci">std::filesystem::path get_w_folder() const</div><div class="ttdef"><b>Definition</b> <a href="#l00216">application_class.h:216</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a32624a7be14230d2120de382c2c2e298"><div class="ttname"><a href="classapplication__class.html#a32624a7be14230d2120de382c2c2e298">application_class::get_object_id</a></div><div class="ttdeci">int get_object_id() const</div><div class="ttdef"><b>Definition</b> <a href="#l00227">application_class.h:227</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a3be4f6532857c72283450ce43907f309"><div class="ttname"><a href="classapplication__class.html#a3be4f6532857c72283450ce43907f309">application_class::initialize</a></div><div class="ttdeci">virtual bool initialize(int screen_width, int screen_height, HWND hwdn, bool is_vulkan)</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l00070">application_class.cpp:70</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a3c76d728525b1ee4558a41383f9f2217"><div class="ttname"><a href="classapplication__class.html#a3c76d728525b1ee4558a41383f9f2217">application_class::get_window_size</a></div><div class="ttdeci">ImVec2 get_window_size() const</div><div class="ttdef"><b>Definition</b> <a href="#l00350">application_class.h:350</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a3ec69cb088888911ab1e32490c39f3e6"><div class="ttname"><a href="classapplication__class.html#a3ec69cb088888911ab1e32490c39f3e6">application_class::get_render_texture</a></div><div class="ttdeci">render_texture_class * get_render_texture() const</div><div class="ttdef"><b>Definition</b> <a href="#l00099">application_class.h:99</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a40392869f0ff57982fef8098dd3354fe"><div class="ttname"><a href="classapplication__class.html#a40392869f0ff57982fef8098dd3354fe">application_class::set_hwnd</a></div><div class="ttdeci">void set_hwnd(HWND hwnd)</div><div class="ttdef"><b>Definition</b> <a href="#l00326">application_class.h:326</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a468b1ed714bae99f4f2fcf7a93407bfb"><div class="ttname"><a href="classapplication__class.html#a468b1ed714bae99f4f2fcf7a93407bfb">application_class::get_screen_height</a></div><div class="ttdeci">int get_screen_height() const</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01288">application_class.cpp:1288</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a4ead7c7ba402fb9619000d201c0cf95f"><div class="ttname"><a href="classapplication__class.html#a4ead7c7ba402fb9619000d201c0cf95f">application_class::set_path</a></div><div class="ttdeci">void set_path(WCHAR *path)</div><div class="ttdef"><b>Definition</b> <a href="#l00207">application_class.h:207</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a54f4915b1878fde4dc60ff26be5712ee"><div class="ttname"><a href="classapplication__class.html#a54f4915b1878fde4dc60ff26be5712ee">application_class::get_light_position</a></div><div class="ttdeci">XMVECTOR get_light_position(int index)</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01730">application_class.cpp:1730</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a5ade90e873b7b6a31c148672dd0305cb"><div class="ttname"><a href="classapplication__class.html#a5ade90e873b7b6a31c148672dd0305cb">application_class::delete_entity_by_id</a></div><div class="ttdeci">void delete_entity_by_id(int entity_id)</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01526">application_class.cpp:1526</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a5dbf967cc3d2a08b07c13b6aa44fafe1"><div class="ttname"><a href="classapplication__class.html#a5dbf967cc3d2a08b07c13b6aa44fafe1">application_class::set_w_folder</a></div><div class="ttdeci">void set_w_folder(const std::filesystem::path &amp;w_folder)</div><div class="ttdef"><b>Definition</b> <a href="#l00211">application_class.h:211</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a642858510be15dc3d2890ccc5f6df31f"><div class="ttname"><a href="classapplication__class.html#a642858510be15dc3d2890ccc5f6df31f">application_class::set_vsync</a></div><div class="ttdeci">void set_vsync(bool vsync)</div><div class="ttdef"><b>Definition</b> <a href="#l00303">application_class.h:303</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a692f521b7d27a89a95848dd912342c1f"><div class="ttname"><a href="classapplication__class.html#a692f521b7d27a89a95848dd912342c1f">application_class::get_hwnd</a></div><div class="ttdeci">HWND get_hwnd() const</div><div class="ttdef"><b>Definition</b> <a href="#l00321">application_class.h:321</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a69a84a1345d56bb8d81e7d3427ce969e"><div class="ttname"><a href="classapplication__class.html#a69a84a1345d56bb8d81e7d3427ce969e">application_class::get_scene_texture</a></div><div class="ttdeci">render_texture_class * get_scene_texture() const</div><div class="ttdef"><b>Definition</b> <a href="#l00094">application_class.h:94</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a69bce73916e1180493ac74030dbb77ba"><div class="ttname"><a href="classapplication__class.html#a69bce73916e1180493ac74030dbb77ba">application_class::delete_terrain</a></div><div class="ttdeci">void delete_terrain()</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01548">application_class.cpp:1548</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a6eff226c2686a261a394b1c046096c5e"><div class="ttname"><a href="classapplication__class.html#a6eff226c2686a261a394b1c046096c5e">application_class::get_model_cache</a></div><div class="ttdeci">std::map&lt; std::string, std::shared_ptr&lt; model_class &gt; &gt; &amp; get_model_cache()</div><div class="ttdef"><b>Definition</b> <a href="#l00450">application_class.h:450</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a79b165193754e7361b0a467f5e70c72b"><div class="ttname"><a href="classapplication__class.html#a79b165193754e7361b0a467f5e70c72b">application_class::set_light_color</a></div><div class="ttdeci">void set_light_color(int index, XMVECTOR color)</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01738">application_class.cpp:1738</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a7b0482e4b79a4c3bf32e1f40ccb48678"><div class="ttname"><a href="classapplication__class.html#a7b0482e4b79a4c3bf32e1f40ccb48678">application_class::create_big_cube</a></div><div class="ttdeci">bool create_big_cube(int side_count)</div><div class="ttdoc">Create a big cube with a specified number of little cube per sides.</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l02003">application_class.cpp:2003</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a7b1a11759ecc6b80542c7f4f3cf4e8e9"><div class="ttname"><a href="classapplication__class.html#a7b1a11759ecc6b80542c7f4f3cf4e8e9">application_class::set_speed</a></div><div class="ttdeci">void set_speed(const float speed)</div><div class="ttdef"><b>Definition</b> <a href="#l00187">application_class.h:187</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a7b959a12a5574b263556937f1c94e255"><div class="ttname"><a href="classapplication__class.html#a7b959a12a5574b263556937f1c94e255">application_class::construct_frustum</a></div><div class="ttdeci">void construct_frustum()</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01940">application_class.cpp:1940</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a7faa4a3a5150086acaec8bc223a4bf7e"><div class="ttname"><a href="classapplication__class.html#a7faa4a3a5150086acaec8bc223a4bf7e">application_class::set_windowed</a></div><div class="ttdeci">void set_windowed(bool windowed)</div><div class="ttdef"><b>Definition</b> <a href="#l00337">application_class.h:337</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a85c04a3f2d050cb750d7986ebc7e76a5"><div class="ttname"><a href="classapplication__class.html#a85c04a3f2d050cb750d7986ebc7e76a5">application_class::get_light_color</a></div><div class="ttdeci">XMVECTOR get_light_color(int index)</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01722">application_class.cpp:1722</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a8a2103b81e5a5f73ebce656b96467ee3"><div class="ttname"><a href="classapplication__class.html#a8a2103b81e5a5f73ebce656b96467ee3">application_class::get_fps</a></div><div class="ttdeci">fps_class * get_fps() const</div><div class="ttdef"><b>Definition</b> <a href="#l00433">application_class.h:433</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a8b03fc0a380762e268606262914e55a8"><div class="ttname"><a href="classapplication__class.html#a8b03fc0a380762e268606262914e55a8">application_class::set_physics_tick_rate</a></div><div class="ttdeci">void set_physics_tick_rate(int physics_tick_rate)</div><div class="ttdef"><b>Definition</b> <a href="#l00151">application_class.h:151</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a8d993ac51d86d09c2b03b612ed914a74"><div class="ttname"><a href="classapplication__class.html#a8d993ac51d86d09c2b03b612ed914a74">application_class::get_refraction_texture</a></div><div class="ttdeci">render_texture_class * get_refraction_texture() const</div><div class="ttdef"><b>Definition</b> <a href="#l00104">application_class.h:104</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a96068cd56a5bb2ed0c02db3b70272be2"><div class="ttname"><a href="classapplication__class.html#a96068cd56a5bb2ed0c02db3b70272be2">application_class::set_should_quit</a></div><div class="ttdeci">void set_should_quit(const bool should_quit)</div><div class="ttdef"><b>Definition</b> <a href="#l00289">application_class.h:289</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a9a39dfe69bca6fe96a339ab47b2f0539"><div class="ttname"><a href="classapplication__class.html#a9a39dfe69bca6fe96a339ab47b2f0539">application_class::add_kobject</a></div><div class="ttdeci">void add_kobject(std::wstring &amp;filepath)</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01378">application_class.cpp:1378</a></div></div>
<div class="ttc" id="aclassapplication__class_html_a9b1ca112e8d8fd01a7061d9a638e9f3e"><div class="ttname"><a href="classapplication__class.html#a9b1ca112e8d8fd01a7061d9a638e9f3e">application_class::get_lights</a></div><div class="ttdeci">std::vector&lt; light_class * &gt; get_lights() const</div><div class="ttdef"><b>Definition</b> <a href="#l00271">application_class.h:271</a></div></div>
<div class="ttc" id="aclassapplication__class_html_aa0a44059eae0a8df0cb65a7962d598ed"><div class="ttname"><a href="classapplication__class.html#aa0a44059eae0a8df0cb65a7962d598ed">application_class::set_can_fixed_update</a></div><div class="ttdeci">void set_can_fixed_update(bool can_fixed_update)</div><div class="ttdef"><b>Definition</b> <a href="#l00416">application_class.h:416</a></div></div>
<div class="ttc" id="aclassapplication__class_html_aa271ce1d2803a5a1fcd9becad215ecb0"><div class="ttname"><a href="classapplication__class.html#aa271ce1d2803a5a1fcd9becad215ecb0">application_class::get_frustum_tolerance</a></div><div class="ttdeci">float get_frustum_tolerance() const</div><div class="ttdef"><b>Definition</b> <a href="#l00399">application_class.h:399</a></div></div>
<div class="ttc" id="aclassapplication__class_html_aa453b06f65ab6344907f0c65670de202"><div class="ttname"><a href="classapplication__class.html#aa453b06f65ab6344907f0c65670de202">application_class::update_stats_after_modification</a></div><div class="ttdeci">void update_stats_after_modification()</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l02066">application_class.cpp:2066</a></div></div>
<div class="ttc" id="aclassapplication__class_html_aa583e172e6a2d45cb9b4841634b9eea4"><div class="ttname"><a href="classapplication__class.html#aa583e172e6a2d45cb9b4841634b9eea4">application_class::physics_thread_function</a></div><div class="ttdeci">void physics_thread_function()</div><div class="ttdoc">Thread function for handling physics updates. this function will run in a separate thread to handle p...</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01978">application_class.cpp:1978</a></div></div>
<div class="ttc" id="aclassapplication__class_html_aa79efde57fb87b64bf95b47ee87c3bff"><div class="ttname"><a href="classapplication__class.html#aa79efde57fb87b64bf95b47ee87c3bff">application_class::get_vsync</a></div><div class="ttdeci">bool get_vsync() const</div><div class="ttdef"><b>Definition</b> <a href="#l00315">application_class.h:315</a></div></div>
<div class="ttc" id="aclassapplication__class_html_aaa09afdc106fb3f82788c42272811657"><div class="ttname"><a href="classapplication__class.html#aaa09afdc106fb3f82788c42272811657">application_class::add_cube</a></div><div class="ttdeci">void add_cube()</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01464">application_class.cpp:1464</a></div></div>
<div class="ttc" id="aclassapplication__class_html_aac1577a0fe08e8007980b6b1778da478"><div class="ttname"><a href="classapplication__class.html#aac1577a0fe08e8007980b6b1778da478">application_class::is_windowed</a></div><div class="ttdeci">bool is_windowed() const</div><div class="ttdef"><b>Definition</b> <a href="#l00332">application_class.h:332</a></div></div>
<div class="ttc" id="aclassapplication__class_html_ab0418282e11e00cebb3a63747384a24b"><div class="ttname"><a href="classapplication__class.html#ab0418282e11e00cebb3a63747384a24b">application_class::set_window_size</a></div><div class="ttdeci">void set_window_size(const ImVec2 size)</div><div class="ttdef"><b>Definition</b> <a href="#l00344">application_class.h:344</a></div></div>
<div class="ttc" id="aclassapplication__class_html_ab1924a7177c04594ec5dab7fe4c0104f"><div class="ttname"><a href="classapplication__class.html#ab1924a7177c04594ec5dab7fe4c0104f">application_class::get_physics</a></div><div class="ttdeci">physics * get_physics() const</div><div class="ttdef"><b>Definition</b> <a href="#l00361">application_class.h:361</a></div></div>
<div class="ttc" id="aclassapplication__class_html_ab3b678dde613c8568a2124482ed45a73"><div class="ttname"><a href="classapplication__class.html#ab3b678dde613c8568a2124482ed45a73">application_class::application_class</a></div><div class="ttdeci">application_class()</div><div class="ttdoc">Constructor for the application class. Initializes member variables and sets up the application.</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l00006">application_class.cpp:6</a></div></div>
<div class="ttc" id="aclassapplication__class_html_ab6487040a8f3f90c62eaaeec09504071"><div class="ttname"><a href="classapplication__class.html#ab6487040a8f3f90c62eaaeec09504071">application_class::get_entity_manager</a></div><div class="ttdeci">ecs::EntityManager * get_entity_manager() const</div><div class="ttdef"><b>Definition</b> <a href="#l00439">application_class.h:439</a></div></div>
<div class="ttc" id="aclassapplication__class_html_abd47278db9d786b80833c787900c145b"><div class="ttname"><a href="classapplication__class.html#abd47278db9d786b80833c787900c145b">application_class::set_frustum</a></div><div class="ttdeci">void set_frustum(const frustum &amp;frustum)</div><div class="ttdef"><b>Definition</b> <a href="#l00376">application_class.h:376</a></div></div>
<div class="ttc" id="aclassapplication__class_html_abf98d275e281e99e54a68d3b53ba7b94"><div class="ttname"><a href="classapplication__class.html#abf98d275e281e99e54a68d3b53ba7b94">application_class::get_can_fixed_update</a></div><div class="ttdeci">bool get_can_fixed_update() const</div><div class="ttdef"><b>Definition</b> <a href="#l00411">application_class.h:411</a></div></div>
<div class="ttc" id="aclassapplication__class_html_aca20ad22e0c95f5404e3c47a11317025"><div class="ttname"><a href="classapplication__class.html#aca20ad22e0c95f5404e3c47a11317025">application_class::generate_terrain</a></div><div class="ttdeci">void generate_terrain()</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01293">application_class.cpp:1293</a></div></div>
<div class="ttc" id="aclassapplication__class_html_aca66fefd8c7c473e2700a69f13a4cb6b"><div class="ttname"><a href="classapplication__class.html#aca66fefd8c7c473e2700a69f13a4cb6b">application_class::set_screen_width</a></div><div class="ttdeci">void set_screen_width(int screen_width)</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01765">application_class.cpp:1765</a></div></div>
<div class="ttc" id="aclassapplication__class_html_acc0c095b41d72833d974229cc64d0689"><div class="ttname"><a href="classapplication__class.html#acc0c095b41d72833d974229cc64d0689">application_class::get_render_count</a></div><div class="ttdeci">int get_render_count() const</div><div class="ttdef"><b>Definition</b> <a href="#l00388">application_class.h:388</a></div></div>
<div class="ttc" id="aclassapplication__class_html_ad724a8b8867f487bc602406ae20e1301"><div class="ttname"><a href="classapplication__class.html#ad724a8b8867f487bc602406ae20e1301">application_class::get_speed</a></div><div class="ttdeci">float get_speed() const</div><div class="ttdef"><b>Definition</b> <a href="#l00180">application_class.h:180</a></div></div>
<div class="ttc" id="aclassapplication__class_html_ad757f3dc7ad49b74643fca7947889ed6"><div class="ttname"><a href="classapplication__class.html#ad757f3dc7ad49b74643fca7947889ed6">application_class::get_sun_light</a></div><div class="ttdeci">light_class * get_sun_light() const</div><div class="ttdef"><b>Definition</b> <a href="#l00276">application_class.h:276</a></div></div>
<div class="ttc" id="aclassapplication__class_html_adfd9213758db871e03aada83dee961b3"><div class="ttname"><a href="classapplication__class.html#adfd9213758db871e03aada83dee961b3">application_class::get_stats</a></div><div class="ttdeci">stats * get_stats() const</div><div class="ttdef"><b>Definition</b> <a href="#l00428">application_class.h:428</a></div></div>
<div class="ttc" id="aclassapplication__class_html_ae4bf8de77c3edaac71aaba75193c3be9"><div class="ttname"><a href="classapplication__class.html#ae4bf8de77c3edaac71aaba75193c3be9">application_class::get_screen_width</a></div><div class="ttdeci">int get_screen_width() const</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01283">application_class.cpp:1283</a></div></div>
<div class="ttc" id="aclassapplication__class_html_ae586e8e9431b6d6168c335a9ae0f08ca"><div class="ttname"><a href="classapplication__class.html#ae586e8e9431b6d6168c335a9ae0f08ca">application_class::set_object_id</a></div><div class="ttdeci">void set_object_id(int object_id)</div><div class="ttdef"><b>Definition</b> <a href="#l00232">application_class.h:232</a></div></div>
<div class="ttc" id="aclassapplication__class_html_ae5ed92985e95d9f34a152cae2d7345d7"><div class="ttname"><a href="classapplication__class.html#ae5ed92985e95d9f34a152cae2d7345d7">application_class::set_screen_height</a></div><div class="ttdeci">void set_screen_height(int screen_height)</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l01758">application_class.cpp:1758</a></div></div>
<div class="ttc" id="aclassapplication__class_html_af2ef20892819f21303002a0f3005e73d"><div class="ttname"><a href="classapplication__class.html#af2ef20892819f21303002a0f3005e73d">application_class::shutdown</a></div><div class="ttdeci">void shutdown()</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l00520">application_class.cpp:520</a></div></div>
<div class="ttc" id="aclassapplication__class_html_afe1ff7bf39935cae054c8f3743e923e1"><div class="ttname"><a href="classapplication__class.html#afe1ff7bf39935cae054c8f3743e923e1">application_class::get_terrain_entity_count</a></div><div class="ttdeci">int get_terrain_entity_count()</div><div class="ttdef"><b>Definition</b> <a href="application__class_8cpp_source.html#l02074">application_class.cpp:2074</a></div></div>
<div class="ttc" id="aclassapplication__class_html_afea1cdf2706dc45cdae0396b7948f2b0"><div class="ttname"><a href="classapplication__class.html#afea1cdf2706dc45cdae0396b7948f2b0">application_class::get_should_quit</a></div><div class="ttdeci">bool get_should_quit() const</div><div class="ttdef"><b>Definition</b> <a href="#l00283">application_class.h:283</a></div></div>
<div class="ttc" id="aclassbitmap__class_html"><div class="ttname"><a href="classbitmap__class.html">bitmap_class</a></div><div class="ttdef"><b>Definition</b> <a href="bitmap__class_8h_source.html#l00021">bitmap_class.h:22</a></div></div>
<div class="ttc" id="aclasscamera__class_html"><div class="ttname"><a href="classcamera__class.html">camera_class</a></div><div class="ttdef"><b>Definition</b> <a href="camera__class_8h_source.html#l00018">camera_class.h:19</a></div></div>
<div class="ttc" id="aclassd__3d__class_html"><div class="ttname"><a href="classd__3d__class.html">d_3d_class</a></div><div class="ttdef"><b>Definition</b> <a href="d__3d__class_8h_source.html#l00030">d_3d_class.h:31</a></div></div>
<div class="ttc" id="aclassd__3d__class_html_ab0f3edaca84f6371ebbdb6291a60b59c"><div class="ttname"><a href="classd__3d__class.html#ab0f3edaca84f6371ebbdb6291a60b59c">d_3d_class::set_vsync</a></div><div class="ttdeci">void set_vsync(bool vsync)</div><div class="ttdoc">Sets the vertical sync state.</div><div class="ttdef"><b>Definition</b> <a href="d__3d__class_8cpp_source.html#l00771">d_3d_class.cpp:771</a></div></div>
<div class="ttc" id="aclassdisplay__plane__class_html"><div class="ttname"><a href="classdisplay__plane__class.html">display_plane_class</a></div><div class="ttdef"><b>Definition</b> <a href="display__plane__class_8h_source.html#l00014">display_plane_class.h:15</a></div></div>
<div class="ttc" id="aclassecs_1_1_entity_manager_html"><div class="ttname"><a href="classecs_1_1_entity_manager.html">ecs::EntityManager</a></div><div class="ttdef"><b>Definition</b> <a href="entity__manager_8h_source.html#l00009">entity_manager.h:9</a></div></div>
<div class="ttc" id="aclassfont__class_html"><div class="ttname"><a href="classfont__class.html">font_class</a></div><div class="ttdef"><b>Definition</b> <a href="font__class_8h_source.html#l00022">font_class.h:23</a></div></div>
<div class="ttc" id="aclassfont__shader__class_html"><div class="ttname"><a href="classfont__shader__class.html">font_shader_class</a></div><div class="ttdef"><b>Definition</b> <a href="font__shader__class_8h_source.html#l00020">font_shader_class.h:21</a></div></div>
<div class="ttc" id="aclassfps__class_html"><div class="ttname"><a href="classfps__class.html">fps_class</a></div><div class="ttdef"><b>Definition</b> <a href="fps__class_8h_source.html#l00020">fps_class.h:21</a></div></div>
<div class="ttc" id="aclassfrustum_html"><div class="ttname"><a href="classfrustum.html">frustum</a></div><div class="ttdef"><b>Definition</b> <a href="frustum_8h_source.html#l00004">frustum.h:5</a></div></div>
<div class="ttc" id="aclassinput__class_html"><div class="ttname"><a href="classinput__class.html">input_class</a></div><div class="ttdef"><b>Definition</b> <a href="input__class_8h_source.html#l00024">input_class.h:25</a></div></div>
<div class="ttc" id="aclasslight__class_html"><div class="ttname"><a href="classlight__class.html">light_class</a></div><div class="ttdef"><b>Definition</b> <a href="light__class_8h_source.html#l00019">light_class.h:20</a></div></div>
<div class="ttc" id="aclassmodel__class_html"><div class="ttname"><a href="classmodel__class.html">model_class</a></div><div class="ttdef"><b>Definition</b> <a href="model__class_8h_source.html#l00150">model_class.h:151</a></div></div>
<div class="ttc" id="aclassphysics_html"><div class="ttname"><a href="classphysics.html">physics</a></div><div class="ttdef"><b>Definition</b> <a href="physics_8h_source.html#l00007">physics.h:8</a></div></div>
<div class="ttc" id="aclassposition__class_html"><div class="ttname"><a href="classposition__class.html">position_class</a></div><div class="ttdef"><b>Definition</b> <a href="position__class_8h_source.html#l00014">position_class.h:15</a></div></div>
<div class="ttc" id="aclassrender__texture__class_html"><div class="ttname"><a href="classrender__texture__class.html">render_texture_class</a></div><div class="ttdef"><b>Definition</b> <a href="render__texture__class_8h_source.html#l00020">render_texture_class.h:21</a></div></div>
<div class="ttc" id="aclassshader__manager__class_html"><div class="ttname"><a href="classshader__manager__class.html">shader_manager_class</a></div><div class="ttdef"><b>Definition</b> <a href="shader__manager__class_8h_source.html#l00027">shader_manager_class.h:28</a></div></div>
<div class="ttc" id="aclassshadow__map_html"><div class="ttname"><a href="classshadow__map.html">shadow_map</a></div><div class="ttdef"><b>Definition</b> <a href="shadow__map_8h_source.html#l00005">shadow_map.h:5</a></div></div>
<div class="ttc" id="aclasssprite__class_html"><div class="ttname"><a href="classsprite__class.html">sprite_class</a></div><div class="ttdef"><b>Definition</b> <a href="sprite__class_8h_source.html#l00022">sprite_class.h:23</a></div></div>
<div class="ttc" id="aclassstats_html"><div class="ttname"><a href="classstats.html">stats</a></div><div class="ttdef"><b>Definition</b> <a href="stats_8h_source.html#l00012">stats.h:13</a></div></div>
<div class="ttc" id="aclasstext__class_html"><div class="ttname"><a href="classtext__class.html">text_class</a></div><div class="ttdef"><b>Definition</b> <a href="text__class_8h_source.html#l00012">text_class.h:13</a></div></div>
<div class="ttc" id="aclasstimer__class_html"><div class="ttname"><a href="classtimer__class.html">timer_class</a></div><div class="ttdef"><b>Definition</b> <a href="timer__class_8h_source.html#l00015">timer_class.h:16</a></div></div>
<div class="ttc" id="astructinput_html"><div class="ttname"><a href="structinput.html">input</a></div><div class="ttdef"><b>Definition</b> <a href="#l00067">application_class.h:68</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_fa382d1760f3c58d964524ef7c4d69c1.html">inc</a></li><li class="navelem"><a class="el" href="dir_31afb4cde3071d47ca274e3f4ae3badb.html">system</a></li><li class="navelem"><b>application_class.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

BIN
doxygen_docs/html/bc_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
doxygen_docs/html/bc_sd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

View File

@@ -0,0 +1,477 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/src/system/bitmap_class.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('bitmap__class_8cpp_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">bitmap_class.cpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#include &quot;bitmap_class.h&quot;</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span>bitmap_class::bitmap_class()</div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span>{</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> vertex_buffer_ = 0;</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> index_buffer_ = 0;</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> texture_ = 0;</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span>}</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span>bitmap_class::bitmap_class(<span class="keyword">const</span> <a class="code hl_class" href="classbitmap__class.html">bitmap_class</a>&amp; other)</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span>{</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span>}</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span>bitmap_class::~bitmap_class()</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span>{</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span>}</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keywordtype">bool</span> bitmap_class::initialize(ID3D11Device* device, ID3D11DeviceContext* deviceContext, <span class="keywordtype">int</span> screenWidth, <span class="keywordtype">int</span> screenHeight, <span class="keywordtype">char</span>* textureFilename, <span class="keywordtype">int</span> renderX, <span class="keywordtype">int</span> renderY)</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span>{</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing bitmap class&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// Store the screen size.</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> screen_width_ = screenWidth;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> screen_height_ = screenHeight;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// Store where the bitmap should be rendered to.</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> render_x_ = renderX;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> render_y_ = renderY;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// initialize the vertex and index buffer that hold the geometry for the bitmap quad.</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> result = initialize_buffers(device);</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> {</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to initialize buffers&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> }</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// Load the texture for this bitmap.</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> result = load_texture(device, deviceContext, textureFilename);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> {</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to load texture&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> }</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Bitmap class initialized&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span>}</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="keywordtype">void</span> bitmap_class::shutdown()</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span>{</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// Release the bitmap texture.</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> release_texture();</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="comment">// Release the vertex and index buffers.</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> shutdown_buffers();</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span>}</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="keywordtype">bool</span> bitmap_class::render(ID3D11DeviceContext* deviceContext)</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>{</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="comment">// Update the buffers if the position of the bitmap has changed from its original position.</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> result = update_buffers(deviceContext);</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> {</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to update buffers&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> }</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="comment">// Put the vertex and index buffers on the graphics pipeline to prepare them for drawing.</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> render_buffers(deviceContext);</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span>}</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="keywordtype">int</span> bitmap_class::get_index_count()</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>{</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">return</span> index_count_;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span>}</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span>ID3D11ShaderResourceView* bitmap_class::get_texture()</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span>{</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">return</span> texture_-&gt;GetTexture();</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span>}</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="keywordtype">bool</span> bitmap_class::initialize_buffers(ID3D11Device* device)</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span>{</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing buffers&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> vertex_type* vertices;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>* indices;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> D3D11_BUFFER_DESC vertexBufferDesc, indexBufferDesc;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> D3D11_SUBRESOURCE_DATA vertexData, indexData;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> HRESULT result;</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span> i;</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="comment">// initialize the previous rendering position to negative one.</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> prev_pos_x_ = -1;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> prev_pos_y_ = -1;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="comment">// Set the number of vertices in the vertex array.</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> vertex_count_ = 6;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="comment">// Set the number of indices in the index array.</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> index_count_ = vertex_count_;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// Create the vertex array.</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> vertices = <span class="keyword">new</span> vertex_type[vertex_count_];</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="comment">// Create the index array.</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> indices = <span class="keyword">new</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>[index_count_];</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="comment">// initialize vertex array to zeros at first.</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> memset(vertices, 0, (<span class="keyword">sizeof</span>(vertex_type) * vertex_count_));</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="comment">// Load the index array with data.</span></div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">for</span> (i = 0; i &lt; index_count_; i++)</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> {</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> indices[i] = i;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> }</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="comment">// Set up the description of the dynamic vertex buffer.</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> vertexBufferDesc.Usage = D3D11_USAGE_DYNAMIC;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> vertexBufferDesc.ByteWidth = <span class="keyword">sizeof</span>(vertex_type) * vertex_count_;</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> vertexBufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> vertexBufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> vertexBufferDesc.MiscFlags = 0;</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> vertexBufferDesc.StructureByteStride = 0;</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="comment">// Give the subresource structure a pointer to the vertex data.</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> vertexData.pSysMem = vertices;</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> vertexData.SysMemPitch = 0;</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> vertexData.SysMemSlicePitch = 0;</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="comment">// Now finally create the vertex buffer.</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> result = device-&gt;CreateBuffer(&amp;vertexBufferDesc, &amp;vertexData, &amp;vertex_buffer_);</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> {</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to create vertex buffer&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> }</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="comment">// Set up the description of the index buffer.</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> indexBufferDesc.Usage = D3D11_USAGE_DEFAULT;</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> indexBufferDesc.ByteWidth = <span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> long) * index_count_;</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> indexBufferDesc.BindFlags = D3D11_BIND_INDEX_BUFFER;</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> indexBufferDesc.CPUAccessFlags = 0;</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> indexBufferDesc.MiscFlags = 0;</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> indexBufferDesc.StructureByteStride = 0;</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="comment">// Give the subresource structure a pointer to the index data.</span></div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> indexData.pSysMem = indices;</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> indexData.SysMemPitch = 0;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> indexData.SysMemSlicePitch = 0;</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="comment">// Create the index buffer.</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> result = device-&gt;CreateBuffer(&amp;indexBufferDesc, &amp;indexData, &amp;index_buffer_);</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> {</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to create index buffer&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> }</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="comment">// Release the arrays now that the vertex and index buffers have been created and loaded.</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">delete</span>[] vertices;</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> vertices = 0;</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keyword">delete</span>[] indices;</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> indices = 0;</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Buffers initialized&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> </div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span>}</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> </div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span><span class="keywordtype">void</span> bitmap_class::shutdown_buffers()</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span>{</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Shutting down buffers&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="comment">// Release the index buffer.</span></div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">if</span> (index_buffer_)</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> {</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Releasing index buffer&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> index_buffer_-&gt;Release();</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> index_buffer_ = 0;</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Index buffer released&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> }</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="comment">// Release the vertex buffer.</span></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">if</span> (vertex_buffer_)</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> {</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Releasing vertex buffer&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> vertex_buffer_-&gt;Release();</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> vertex_buffer_ = 0;</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Vertex buffer released&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> }</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> </div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Buffers shut down&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> </div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span>}</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span><span class="keywordtype">bool</span> bitmap_class::update_buffers(ID3D11DeviceContext* deviceContent)</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span>{</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keywordtype">float</span> left, right, top, bottom;</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> vertex_type* vertices;</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> D3D11_MAPPED_SUBRESOURCE mappedResource;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> vertex_type* dataPtr;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> HRESULT result;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="comment">// If the position we are rendering this bitmap to hasn&#39;t changed then don&#39;t update the vertex buffer.</span></div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">if</span> ((prev_pos_x_ == render_x_) &amp;&amp; (prev_pos_y_ == render_y_))</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> {</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> }</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="comment">// If the rendering location has changed then store the new position and update the vertex buffer.</span></div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> prev_pos_x_ = render_x_;</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> prev_pos_y_ = render_y_;</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> </div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="comment">// Create the vertex array.</span></div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> vertices = <span class="keyword">new</span> vertex_type[vertex_count_];</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="comment">// Calculate the screen coordinates of the left side of the bitmap.</span></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> left = (float)((screen_width_ / 2) * -1) + (float)render_x_;</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> </div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="comment">// Calculate the screen coordinates of the right side of the bitmap.</span></div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> right = left + (float)bitmap_width_;</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> </div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> <span class="comment">// Calculate the screen coordinates of the top of the bitmap.</span></div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> top = (float)(screen_height_ / 2) - (float)render_y_;</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="comment">// Calculate the screen coordinates of the bottom of the bitmap.</span></div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> bottom = top - (float)bitmap_height_;</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> </div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="comment">// Load the vertex array with data.</span></div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span><span class="comment">// First triangle.</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> vertices[0].position = XMFLOAT3(left, top, 0.0f); <span class="comment">// Top left.</span></div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> vertices[0].texture = XMFLOAT2(0.0f, 0.0f);</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> vertices[1].position = XMFLOAT3(right, bottom, 0.0f); <span class="comment">// Bottom right.</span></div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> vertices[1].texture = XMFLOAT2(1.0f, 1.0f);</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> </div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> vertices[2].position = XMFLOAT3(left, bottom, 0.0f); <span class="comment">// Bottom left.</span></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> vertices[2].texture = XMFLOAT2(0.0f, 1.0f);</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> </div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <span class="comment">// Second triangle.</span></div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> vertices[3].position = XMFLOAT3(left, top, 0.0f); <span class="comment">// Top left.</span></div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> vertices[3].texture = XMFLOAT2(0.0f, 0.0f);</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> </div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> vertices[4].position = XMFLOAT3(right, top, 0.0f); <span class="comment">// Top right.</span></div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> vertices[4].texture = XMFLOAT2(1.0f, 0.0f);</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> </div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> vertices[5].position = XMFLOAT3(right, bottom, 0.0f); <span class="comment">// Bottom right.</span></div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> vertices[5].texture = XMFLOAT2(1.0f, 1.0f);</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> </div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <span class="comment">// Lock the vertex buffer.</span></div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> result = deviceContent-&gt;Map(vertex_buffer_, 0, D3D11_MAP_WRITE_DISCARD, 0, &amp;mappedResource);</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> {</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to map vertex buffer&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> }</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> </div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="comment">// Get a pointer to the data in the constant buffer.</span></div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> dataPtr = (vertex_type*)mappedResource.pData;</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> </div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> <span class="comment">// Copy the data into the vertex buffer.</span></div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> memcpy(dataPtr, (<span class="keywordtype">void</span>*)vertices, (<span class="keyword">sizeof</span>(vertex_type) * vertex_count_));</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> </div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> <span class="comment">// Unlock the vertex buffer.</span></div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> deviceContent-&gt;Unmap(vertex_buffer_, 0);</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> <span class="comment">// Release the pointer reference.</span></div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> dataPtr = 0;</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> </div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> <span class="comment">// Release the vertex array as it is no longer needed.</span></div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> <span class="keyword">delete</span>[] vertices;</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> vertices = 0;</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> </div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span>}</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> </div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span><span class="keywordtype">void</span> bitmap_class::render_buffers(ID3D11DeviceContext* deviceContext)</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span>{</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stride;</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> offset;</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> </div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> </div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <span class="comment">// Set vertex buffer stride and offset.</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> stride = <span class="keyword">sizeof</span>(vertex_type);</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> offset = 0;</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> </div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> <span class="comment">// Set the vertex buffer to active in the input assembler so it can be rendered.</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> deviceContext-&gt;IASetVertexBuffers(0, 1, &amp;vertex_buffer_, &amp;stride, &amp;offset);</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> </div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> <span class="comment">// Set the index buffer to active in the input assembler so it can be rendered.</span></div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> deviceContext-&gt;IASetIndexBuffer(index_buffer_, DXGI_FORMAT_R32_UINT, 0);</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> </div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <span class="comment">// Set the type of primitive that should be rendered from this vertex buffer, in this case triangles.</span></div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> deviceContext-&gt;IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> </div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span>}</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> </div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="keywordtype">bool</span> bitmap_class::load_texture(ID3D11Device* device, ID3D11DeviceContext* deviceContext, <span class="keywordtype">char</span>* filename)</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span>{</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> </div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> </div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="comment">// Create and initialize the texture object.</span></div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> texture_ = <span class="keyword">new</span> <a class="code hl_class" href="classtexture__class.html">texture_class</a>;</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> </div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> result = texture_-&gt;Initialize(device, deviceContext, filename);</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> {</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to initialize texture object&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> }</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> </div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="comment">// Store the size in pixels that this bitmap should be rendered at.</span></div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> bitmap_width_ = texture_-&gt;GetWidth();</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> bitmap_height_ = texture_-&gt;GetHeight();</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> </div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span>}</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> </div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span><span class="keywordtype">void</span> bitmap_class::release_texture()</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span>{</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Releasing texture&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="comment">// Release the texture object.</span></div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">if</span> (texture_)</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> {</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Releasing texture object&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> texture_-&gt;Shutdown();</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <span class="keyword">delete</span> texture_;</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> texture_ = 0;</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Texture object released&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> }</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> </div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Texture released&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> </div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span>}</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> </div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span><span class="keywordtype">void</span> bitmap_class::set_render_location(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y)</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span>{</div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> render_x_ = x;</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> render_y_ = y;</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span>}</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
<div class="ttc" id="aclassbitmap__class_html"><div class="ttname"><a href="classbitmap__class.html">bitmap_class</a></div><div class="ttdef"><b>Definition</b> <a href="bitmap__class_8h_source.html#l00021">bitmap_class.h:22</a></div></div>
<div class="ttc" id="aclasstexture__class_html"><div class="ttname"><a href="classtexture__class.html">texture_class</a></div><div class="ttdef"><b>Definition</b> <a href="texture__class_8h_source.html#l00016">texture_class.h:17</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_9f969fb6181399983524402442d3614f.html">src</a></li><li class="navelem"><a class="el" href="dir_eca5a6ecd54f1e6167f92aa8e37ec00f.html">system</a></li><li class="navelem"><b>bitmap_class.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,169 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/inc/system/bitmap_class.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('bitmap__class_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">bitmap_class.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef _BITMAPCLASS_H_</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define _BITMAPCLASS_H_</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">// INCLUDES //</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &lt;directxmath.h&gt;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="keyword">using namespace </span>DirectX;</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">// MY CLASS INCLUDES //</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &quot;texture_class.h&quot;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">// Class name: bitmap_class</span></div>
<div class="foldopen" id="foldopen00021" data-start="{" data-end="};">
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="classbitmap__class.html"> 21</a></span><span class="keyword">class </span><a class="code hl_class" href="classbitmap__class.html">bitmap_class</a></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span>{</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">struct </span>vertex_type</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> {</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> XMFLOAT3 position;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> XMFLOAT2 texture;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> };</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <a class="code hl_class" href="classbitmap__class.html">bitmap_class</a>();</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_class" href="classbitmap__class.html">bitmap_class</a>(<span class="keyword">const</span> <a class="code hl_class" href="classbitmap__class.html">bitmap_class</a>&amp;);</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_class" href="classbitmap__class.html">~bitmap_class</a>();</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">bool</span> initialize(ID3D11Device*, ID3D11DeviceContext*, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">char</span>*, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>);</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">void</span> shutdown();</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">bool</span> render(ID3D11DeviceContext*);</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">int</span> get_index_count();</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> ID3D11ShaderResourceView* get_texture();</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">void</span> set_render_location(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">bool</span> initialize_buffers(ID3D11Device*);</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">void</span> shutdown_buffers();</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">bool</span> update_buffers(ID3D11DeviceContext*);</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">void</span> render_buffers(ID3D11DeviceContext*);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">bool</span> load_texture(ID3D11Device*, ID3D11DeviceContext*, <span class="keywordtype">char</span>*);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">void</span> release_texture();</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> ID3D11Buffer* vertex_buffer_, * index_buffer_;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">int</span> vertex_count_, index_count_, screen_width_, screen_height_, bitmap_width_, bitmap_height_, render_x_, render_y_, prev_pos_x_, prev_pos_y_;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <a class="code hl_class" href="classtexture__class.html">texture_class</a>* texture_;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span>};</div>
</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclassbitmap__class_html"><div class="ttname"><a href="classbitmap__class.html">bitmap_class</a></div><div class="ttdef"><b>Definition</b> <a href="#l00021">bitmap_class.h:22</a></div></div>
<div class="ttc" id="aclasstexture__class_html"><div class="ttname"><a href="classtexture__class.html">texture_class</a></div><div class="ttdef"><b>Definition</b> <a href="texture__class_8h_source.html#l00016">texture_class.h:17</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_fa382d1760f3c58d964524ef7c4d69c1.html">inc</a></li><li class="navelem"><a class="el" href="dir_31afb4cde3071d47ca274e3f4ae3badb.html">system</a></li><li class="navelem"><b>bitmap_class.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,310 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/src/system/camera_class.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('camera__class_8cpp_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">camera_class.cpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">// Filename: cameraclass.cpp</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;camera_class.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
<div class="foldopen" id="foldopen00006" data-start="{" data-end="}">
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"><a class="line" href="classcamera__class.html#ac18562f9e46ca033440ba9df2d180e20"> 6</a></span><a class="code hl_function" href="classcamera__class.html#ac18562f9e46ca033440ba9df2d180e20">camera_class::camera_class</a>()</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span>{</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> position_x_ = 0.0f;</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> position_y_ = 0.0f;</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> position_z_ = 0.0f;</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> rotation_x_ = 0.0f;</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> rotation_y_ = 0.0f;</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> rotation_z_ = 0.0f;</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span>}</div>
</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><a class="code hl_function" href="classcamera__class.html#ac18562f9e46ca033440ba9df2d180e20">camera_class::camera_class</a>(<span class="keyword">const</span> <a class="code hl_class" href="classcamera__class.html">camera_class</a>&amp; other)</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span>{</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span>}</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>camera_class::~camera_class()</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span>{</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span>}</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="foldopen" id="foldopen00027" data-start="{" data-end="}">
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="classcamera__class.html#a4b9ac7f98297d2007abd1ed3d326d381"> 27</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classcamera__class.html#a4b9ac7f98297d2007abd1ed3d326d381">camera_class::set_position</a>(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z)</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span>{</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> position_x_ = x;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> position_y_ = y;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> position_z_ = z;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>}</div>
</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="foldopen" id="foldopen00036" data-start="{" data-end="}">
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="classcamera__class.html#a410c4bbfd5ba10d0785f5ac9178f9b3f"> 36</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classcamera__class.html#a410c4bbfd5ba10d0785f5ac9178f9b3f">camera_class::set_rotation</a>(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z)</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>{</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> rotation_x_ = x;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> rotation_y_ = y;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> rotation_z_ = z;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span>}</div>
</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="foldopen" id="foldopen00044" data-start="{" data-end="}">
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="classcamera__class.html#af416c69abe70579751cd404cba8bf388"> 44</a></span>XMFLOAT3 <a class="code hl_function" href="classcamera__class.html#af416c69abe70579751cd404cba8bf388">camera_class::get_position</a>()</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span>{</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">return</span> XMFLOAT3(position_x_, position_y_, position_z_);</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span>}</div>
</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="foldopen" id="foldopen00050" data-start="{" data-end="}">
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="classcamera__class.html#aa8073c109a536d48478257a3e1e889cd"> 50</a></span>XMFLOAT3 <a class="code hl_function" href="classcamera__class.html#aa8073c109a536d48478257a3e1e889cd">camera_class::get_rotation</a>()</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span>{</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">return</span> XMFLOAT3(rotation_x_, rotation_y_, rotation_z_);</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span>}</div>
</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="foldopen" id="foldopen00055" data-start="{" data-end="}">
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="classcamera__class.html#a0820187f209f9628e6b2a8af34d71057"> 55</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classcamera__class.html#a0820187f209f9628e6b2a8af34d71057">camera_class::render</a>()</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span>{</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> XMFLOAT3 up, position, lookAt;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> XMVECTOR upVector, positionVector, lookAtVector;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">float</span> yaw, pitch, roll;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> XMMATRIX rotationMatrix;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="comment">// Setup the vector that points upwards.</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> up.x = 0.0f;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> up.y = 1.0f;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> up.z = 0.0f;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> upVector = XMLoadFloat3(&amp;up);</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="comment">// Setup the position of the camera in the world.</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> position.x = position_x_;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> position.y = position_y_;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> position.z = position_z_;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> positionVector = XMLoadFloat3(&amp;position);</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="comment">// Setup where the camera is looking by default.</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> lookAt.x = 0.0f;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> lookAt.y = 0.0f;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> lookAt.z = 1.0f;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> lookAtVector = XMLoadFloat3(&amp;lookAt);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="comment">// Set the yaw (Y axis), pitch (X axis), and roll (Z axis) rotations in radians.</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> pitch = rotation_x_ * 0.0174532925f;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> yaw = rotation_y_ * 0.0174532925f;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> roll = rotation_z_ * 0.0174532925f;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="comment">// Create the rotation matrix from the yaw, pitch, and roll values.</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> rotationMatrix = XMMatrixRotationRollPitchYaw(pitch, yaw, roll);</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="comment">// Transform the lookAt and up vector by the rotation matrix so the view is correctly rotated at the origin.</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> lookAtVector = XMVector3TransformCoord(lookAtVector, rotationMatrix);</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> upVector = XMVector3TransformCoord(upVector, rotationMatrix);</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="comment">// Translate the rotated camera position to the location of the viewer.</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> lookAtVector = XMVectorAdd(positionVector, lookAtVector);</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="comment">// Finally create the view matrix from the three updated vectors.</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> view_matrix_ = XMMatrixLookAtLH(positionVector, lookAtVector, upVector);</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span>}</div>
</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="foldopen" id="foldopen00108" data-start="{" data-end="}">
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="classcamera__class.html#ac17736821f337ce7fd52b9857095de68"> 108</a></span>XMMATRIX <a class="code hl_function" href="classcamera__class.html#ac17736821f337ce7fd52b9857095de68">camera_class::get_view_matrix</a>(XMMATRIX&amp; view_matrix)<span class="keyword"> const</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> view_matrix = view_matrix_;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">return</span> view_matrix;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span>}</div>
</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="foldopen" id="foldopen00114" data-start="{" data-end="}">
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"><a class="line" href="classcamera__class.html#a58b36223405de07000d108129c998075"> 114</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classcamera__class.html#a58b36223405de07000d108129c998075">camera_class::render_reflection</a>(<span class="keywordtype">float</span> height)</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span>{</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> XMFLOAT3 up, position, lookAt;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> XMVECTOR upVector, positionVector, lookAtVector;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">float</span> yaw, pitch, roll;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> XMMATRIX rotationMatrix;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="comment">// Setup the vector that points upwards.</span></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> up.x = 0.0f;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> up.y = 1.0f;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> up.z = 0.0f;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> upVector = XMLoadFloat3(&amp;up);</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="comment">// Setup the position of the camera in the world.</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> position.x = position_x_;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> position.y = -position_y_ + (height * 2.0f);</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> position.z = position_z_;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> positionVector = XMLoadFloat3(&amp;position);</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="comment">// Setup where the camera is looking by default.</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> lookAt.x = 0.0f;</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> lookAt.y = 0.0f;</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> lookAt.z = 1.0f;</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> </div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> lookAtVector = XMLoadFloat3(&amp;lookAt);</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// Set the yaw (Y axis), pitch (X axis), and roll (Z axis) rotations in radians.</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> pitch = (-1.0f * rotation_x_) * 0.0174532925f; <span class="comment">// Invert for reflection</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> yaw = rotation_y_ * 0.0174532925f;</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> roll = rotation_z_ * 0.0174532925f;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="comment">// Create the rotation matrix from the yaw, pitch, and roll values.</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> rotationMatrix = XMMatrixRotationRollPitchYaw(pitch, yaw, roll);</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// Transform the lookAt and up vector by the rotation matrix so the view is correctly rotated at the origin.</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> lookAtVector = XMVector3TransformCoord(lookAtVector, rotationMatrix);</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> upVector = XMVector3TransformCoord(upVector, rotationMatrix);</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="comment">// Translate the rotated camera position to the location of the viewer.</span></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> lookAtVector = XMVectorAdd(positionVector, lookAtVector);</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="comment">// Finally create the view matrix from the three updated vectors.</span></div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> reflection_view_matrix_ = XMMatrixLookAtLH(positionVector, lookAtVector, upVector);</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span>}</div>
</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
<div class="foldopen" id="foldopen00167" data-start="{" data-end="}">
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="classcamera__class.html#ac4d85cc166aec75e54528dc9dee8a075"> 167</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classcamera__class.html#ac4d85cc166aec75e54528dc9dee8a075">camera_class::get_reflection_view_matrix</a>(XMMATRIX&amp; reflectionViewMatrix)<span class="keyword"> const</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> reflectionViewMatrix = reflection_view_matrix_;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span>}</div>
</div>
<div class="ttc" id="aclasscamera__class_html"><div class="ttname"><a href="classcamera__class.html">camera_class</a></div><div class="ttdef"><b>Definition</b> <a href="camera__class_8h_source.html#l00018">camera_class.h:19</a></div></div>
<div class="ttc" id="aclasscamera__class_html_a0820187f209f9628e6b2a8af34d71057"><div class="ttname"><a href="classcamera__class.html#a0820187f209f9628e6b2a8af34d71057">camera_class::render</a></div><div class="ttdeci">void render()</div><div class="ttdoc">Updates the camera's view matrix based on its position and rotation. This method recalculates the vie...</div><div class="ttdef"><b>Definition</b> <a href="#l00055">camera_class.cpp:55</a></div></div>
<div class="ttc" id="aclasscamera__class_html_a410c4bbfd5ba10d0785f5ac9178f9b3f"><div class="ttname"><a href="classcamera__class.html#a410c4bbfd5ba10d0785f5ac9178f9b3f">camera_class::set_rotation</a></div><div class="ttdeci">void set_rotation(float, float, float)</div><div class="ttdoc">Sets the rotation of the camera in 3D space.</div><div class="ttdef"><b>Definition</b> <a href="#l00036">camera_class.cpp:36</a></div></div>
<div class="ttc" id="aclasscamera__class_html_a4b9ac7f98297d2007abd1ed3d326d381"><div class="ttname"><a href="classcamera__class.html#a4b9ac7f98297d2007abd1ed3d326d381">camera_class::set_position</a></div><div class="ttdeci">void set_position(float, float, float)</div><div class="ttdoc">Sets the position of the camera in 3D space.</div><div class="ttdef"><b>Definition</b> <a href="#l00027">camera_class.cpp:27</a></div></div>
<div class="ttc" id="aclasscamera__class_html_a58b36223405de07000d108129c998075"><div class="ttname"><a href="classcamera__class.html#a58b36223405de07000d108129c998075">camera_class::render_reflection</a></div><div class="ttdeci">void render_reflection(float)</div><div class="ttdoc">Renders the reflection of the scene from the camera's perspective.</div><div class="ttdef"><b>Definition</b> <a href="#l00114">camera_class.cpp:114</a></div></div>
<div class="ttc" id="aclasscamera__class_html_aa8073c109a536d48478257a3e1e889cd"><div class="ttname"><a href="classcamera__class.html#aa8073c109a536d48478257a3e1e889cd">camera_class::get_rotation</a></div><div class="ttdeci">XMFLOAT3 get_rotation()</div><div class="ttdoc">Gets the current rotation of the camera.</div><div class="ttdef"><b>Definition</b> <a href="#l00050">camera_class.cpp:50</a></div></div>
<div class="ttc" id="aclasscamera__class_html_ac17736821f337ce7fd52b9857095de68"><div class="ttname"><a href="classcamera__class.html#ac17736821f337ce7fd52b9857095de68">camera_class::get_view_matrix</a></div><div class="ttdeci">XMMATRIX get_view_matrix(XMMATRIX &amp;view_matrix) const</div><div class="ttdoc">Retrieves the current view matrix of the camera.</div><div class="ttdef"><b>Definition</b> <a href="#l00108">camera_class.cpp:108</a></div></div>
<div class="ttc" id="aclasscamera__class_html_ac18562f9e46ca033440ba9df2d180e20"><div class="ttname"><a href="classcamera__class.html#ac18562f9e46ca033440ba9df2d180e20">camera_class::camera_class</a></div><div class="ttdeci">camera_class()</div><div class="ttdoc">Default constructor for camera_class. Initializes the camera position and rotation to zero.</div><div class="ttdef"><b>Definition</b> <a href="#l00006">camera_class.cpp:6</a></div></div>
<div class="ttc" id="aclasscamera__class_html_ac4d85cc166aec75e54528dc9dee8a075"><div class="ttname"><a href="classcamera__class.html#ac4d85cc166aec75e54528dc9dee8a075">camera_class::get_reflection_view_matrix</a></div><div class="ttdeci">void get_reflection_view_matrix(XMMATRIX &amp;) const</div><div class="ttdoc">Retrieves the reflection view matrix of the camera.</div><div class="ttdef"><b>Definition</b> <a href="#l00167">camera_class.cpp:167</a></div></div>
<div class="ttc" id="aclasscamera__class_html_af416c69abe70579751cd404cba8bf388"><div class="ttname"><a href="classcamera__class.html#af416c69abe70579751cd404cba8bf388">camera_class::get_position</a></div><div class="ttdeci">XMFLOAT3 get_position()</div><div class="ttdoc">Gets the current position of the camera.</div><div class="ttdef"><b>Definition</b> <a href="#l00044">camera_class.cpp:44</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_9f969fb6181399983524402442d3614f.html">src</a></li><li class="navelem"><a class="el" href="dir_eca5a6ecd54f1e6167f92aa8e37ec00f.html">system</a></li><li class="navelem"><b>camera_class.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,165 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/inc/system/camera_class.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('camera__class_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">camera_class.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">// Filename: cameraclass.h</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#ifndef _CAMERACLASS_H_</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#define _CAMERACLASS_H_</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">// INCLUDES //</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;directxmath.h&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">using namespace </span>DirectX;</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">// Class name: camera_class</span></div>
<div class="foldopen" id="foldopen00018" data-start="{" data-end="};">
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"><a class="line" href="classcamera__class.html"> 18</a></span><span class="keyword">class </span><a class="code hl_class" href="classcamera__class.html">camera_class</a></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span>{</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <a class="code hl_function" href="classcamera__class.html#ac18562f9e46ca033440ba9df2d180e20">camera_class</a>();</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <a class="code hl_function" href="classcamera__class.html#ac18562f9e46ca033440ba9df2d180e20">camera_class</a>(<span class="keyword">const</span> <a class="code hl_class" href="classcamera__class.html">camera_class</a>&amp;);</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <a class="code hl_class" href="classcamera__class.html">~camera_class</a>();</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classcamera__class.html#a4b9ac7f98297d2007abd1ed3d326d381">set_position</a>(<span class="keywordtype">float</span>, <span class="keywordtype">float</span>, <span class="keywordtype">float</span>);</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classcamera__class.html#a410c4bbfd5ba10d0785f5ac9178f9b3f">set_rotation</a>(<span class="keywordtype">float</span>, <span class="keywordtype">float</span>, <span class="keywordtype">float</span>);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> XMFLOAT3 <a class="code hl_function" href="classcamera__class.html#af416c69abe70579751cd404cba8bf388">get_position</a>();</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> XMFLOAT3 <a class="code hl_function" href="classcamera__class.html#aa8073c109a536d48478257a3e1e889cd">get_rotation</a>();</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classcamera__class.html#a0820187f209f9628e6b2a8af34d71057">render</a>();</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> XMMATRIX <a class="code hl_function" href="classcamera__class.html#ac17736821f337ce7fd52b9857095de68">get_view_matrix</a>(XMMATRIX&amp; view_matrix) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classcamera__class.html#a58b36223405de07000d108129c998075">render_reflection</a>(<span class="keywordtype">float</span>);</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classcamera__class.html#ac4d85cc166aec75e54528dc9dee8a075">get_reflection_view_matrix</a>(XMMATRIX&amp;) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">float</span> position_x_, position_y_, position_z_;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">float</span> rotation_x_, rotation_y_, rotation_z_;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> XMMATRIX view_matrix_;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> XMMATRIX reflection_view_matrix_;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span>};</div>
</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclasscamera__class_html"><div class="ttname"><a href="classcamera__class.html">camera_class</a></div><div class="ttdef"><b>Definition</b> <a href="#l00018">camera_class.h:19</a></div></div>
<div class="ttc" id="aclasscamera__class_html_a0820187f209f9628e6b2a8af34d71057"><div class="ttname"><a href="classcamera__class.html#a0820187f209f9628e6b2a8af34d71057">camera_class::render</a></div><div class="ttdeci">void render()</div><div class="ttdoc">Updates the camera's view matrix based on its position and rotation. This method recalculates the vie...</div><div class="ttdef"><b>Definition</b> <a href="camera__class_8cpp_source.html#l00055">camera_class.cpp:55</a></div></div>
<div class="ttc" id="aclasscamera__class_html_a410c4bbfd5ba10d0785f5ac9178f9b3f"><div class="ttname"><a href="classcamera__class.html#a410c4bbfd5ba10d0785f5ac9178f9b3f">camera_class::set_rotation</a></div><div class="ttdeci">void set_rotation(float, float, float)</div><div class="ttdoc">Sets the rotation of the camera in 3D space.</div><div class="ttdef"><b>Definition</b> <a href="camera__class_8cpp_source.html#l00036">camera_class.cpp:36</a></div></div>
<div class="ttc" id="aclasscamera__class_html_a4b9ac7f98297d2007abd1ed3d326d381"><div class="ttname"><a href="classcamera__class.html#a4b9ac7f98297d2007abd1ed3d326d381">camera_class::set_position</a></div><div class="ttdeci">void set_position(float, float, float)</div><div class="ttdoc">Sets the position of the camera in 3D space.</div><div class="ttdef"><b>Definition</b> <a href="camera__class_8cpp_source.html#l00027">camera_class.cpp:27</a></div></div>
<div class="ttc" id="aclasscamera__class_html_a58b36223405de07000d108129c998075"><div class="ttname"><a href="classcamera__class.html#a58b36223405de07000d108129c998075">camera_class::render_reflection</a></div><div class="ttdeci">void render_reflection(float)</div><div class="ttdoc">Renders the reflection of the scene from the camera's perspective.</div><div class="ttdef"><b>Definition</b> <a href="camera__class_8cpp_source.html#l00114">camera_class.cpp:114</a></div></div>
<div class="ttc" id="aclasscamera__class_html_aa8073c109a536d48478257a3e1e889cd"><div class="ttname"><a href="classcamera__class.html#aa8073c109a536d48478257a3e1e889cd">camera_class::get_rotation</a></div><div class="ttdeci">XMFLOAT3 get_rotation()</div><div class="ttdoc">Gets the current rotation of the camera.</div><div class="ttdef"><b>Definition</b> <a href="camera__class_8cpp_source.html#l00050">camera_class.cpp:50</a></div></div>
<div class="ttc" id="aclasscamera__class_html_ac17736821f337ce7fd52b9857095de68"><div class="ttname"><a href="classcamera__class.html#ac17736821f337ce7fd52b9857095de68">camera_class::get_view_matrix</a></div><div class="ttdeci">XMMATRIX get_view_matrix(XMMATRIX &amp;view_matrix) const</div><div class="ttdoc">Retrieves the current view matrix of the camera.</div><div class="ttdef"><b>Definition</b> <a href="camera__class_8cpp_source.html#l00108">camera_class.cpp:108</a></div></div>
<div class="ttc" id="aclasscamera__class_html_ac18562f9e46ca033440ba9df2d180e20"><div class="ttname"><a href="classcamera__class.html#ac18562f9e46ca033440ba9df2d180e20">camera_class::camera_class</a></div><div class="ttdeci">camera_class()</div><div class="ttdoc">Default constructor for camera_class. Initializes the camera position and rotation to zero.</div><div class="ttdef"><b>Definition</b> <a href="camera__class_8cpp_source.html#l00006">camera_class.cpp:6</a></div></div>
<div class="ttc" id="aclasscamera__class_html_ac4d85cc166aec75e54528dc9dee8a075"><div class="ttname"><a href="classcamera__class.html#ac4d85cc166aec75e54528dc9dee8a075">camera_class::get_reflection_view_matrix</a></div><div class="ttdeci">void get_reflection_view_matrix(XMMATRIX &amp;) const</div><div class="ttdoc">Retrieves the reflection view matrix of the camera.</div><div class="ttdef"><b>Definition</b> <a href="camera__class_8cpp_source.html#l00167">camera_class.cpp:167</a></div></div>
<div class="ttc" id="aclasscamera__class_html_af416c69abe70579751cd404cba8bf388"><div class="ttname"><a href="classcamera__class.html#af416c69abe70579751cd404cba8bf388">camera_class::get_position</a></div><div class="ttdeci">XMFLOAT3 get_position()</div><div class="ttdoc">Gets the current position of the camera.</div><div class="ttdef"><b>Definition</b> <a href="camera__class_8cpp_source.html#l00044">camera_class.cpp:44</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_fa382d1760f3c58d964524ef7c4d69c1.html">inc</a></li><li class="navelem"><a class="el" href="dir_31afb4cde3071d47ca274e3f4ae3badb.html">system</a></li><li class="navelem"><b>camera_class.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,586 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/src/shader/celshade_class.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('celshade__class_8cpp_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">celshade_class.cpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">// Filename: lightshaderclass.cpp</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;celshade_class.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span>celshade_class::celshade_class()</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span>{</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> vertex_shader_ = 0;</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> pixel_shader_ = 0;</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> layout_ = 0;</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> sample_state_ = 0;</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> matrix_buffer_ = 0;</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> camera_buffer_ = 0;</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> sunlight_buffer_ = 0;</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> sunlight_color_buffer_ = 0;</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> sunlight_position_buffer_ = 0;</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span>}</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span>celshade_class::celshade_class(<span class="keyword">const</span> <a class="code hl_class" href="classcelshade__class.html">celshade_class</a>&amp; other)</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span>{</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>}</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>celshade_class::~celshade_class()</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span>{</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span>}</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="keywordtype">bool</span> celshade_class::initialize(ID3D11Device* device, HWND hwnd)</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span>{</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing LightShaderClass&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">wchar_t</span> vsFilename[128];</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">wchar_t</span> psFilename[128];</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">int</span> error;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="comment">// Set the filename of the vertex shader.</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> error = wcscpy_s(vsFilename, 128, L<span class="stringliteral">&quot;src/hlsl/celshading.vs&quot;</span>);</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> {</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to copy string&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> }</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="comment">// Set the filename of the pixel shader.</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> error = wcscpy_s(psFilename, 128, L<span class="stringliteral">&quot;src/hlsl/celshading.ps&quot;</span>);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> {</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to copy string&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> }</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="comment">// initialize the vertex and pixel shaders.</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> result = initialize_shader(device, hwnd, vsFilename, psFilename);</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to initialize shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> }</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;SunLightShaderClass initialized&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span>}</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="keywordtype">void</span> celshade_class::shutdown()</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span>{</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="comment">// shutdown the vertex and pixel shaders as well as the related objects.</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> shutdown_shader();</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span>}</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="keywordtype">bool</span> celshade_class::render(ID3D11DeviceContext* deviceContext, <span class="keywordtype">int</span> index_count, XMMATRIX world_matrix, XMMATRIX view_matrix, XMMATRIX projection_matrix,</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> ID3D11ShaderResourceView* texture, XMFLOAT4 diffuse_color, XMFLOAT4 ambient_color, XMFLOAT3 sun_direction, <span class="keywordtype">float</span> sunIntensity)</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span>{</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="comment">// Set the shader parameters that it will use for rendering.</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> result = set_shader_parameters(deviceContext, world_matrix, view_matrix, projection_matrix, texture, diffuse_color, ambient_color, sun_direction, sunIntensity);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> {</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to set shader parameters&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> }</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="comment">// Now render the prepared buffers with the shader.</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> render_shader(deviceContext, index_count);</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span>}</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="keywordtype">bool</span> celshade_class::initialize_shader(ID3D11Device* device, HWND hwnd, WCHAR* vsFilename, WCHAR* psFilename)</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span>{</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> HRESULT result;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> ID3D10Blob* errorMessage;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> ID3D10Blob* vertexShaderBuffer;</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> ID3D10Blob* pixelShaderBuffer;</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> D3D11_INPUT_ELEMENT_DESC polygonLayout[3];</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numElements;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> D3D11_SAMPLER_DESC samplerDesc;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> D3D11_BUFFER_DESC matrixBufferDesc;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> D3D11_BUFFER_DESC sunlightBufferDesc;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="comment">// initialize the pointers this function will use to null.</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> errorMessage = 0;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> vertexShaderBuffer = 0;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> pixelShaderBuffer = 0;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// Compile the vertex shader code.</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> result = D3DCompileFromFile(vsFilename, NULL, NULL, <span class="stringliteral">&quot;SunLightVertexShader&quot;</span>, <span class="stringliteral">&quot;vs_5_0&quot;</span>, D3D10_SHADER_ENABLE_STRICTNESS, 0, &amp;vertexShaderBuffer, &amp;errorMessage);</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> {</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (errorMessage)</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> {</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> output_shader_error_message(errorMessage, hwnd, vsFilename);</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> }</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> {</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to compile shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> }</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> }</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="comment">// Compile the pixel shader code.</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> result = D3DCompileFromFile(psFilename, NULL, NULL, <span class="stringliteral">&quot;SunLightPixelShader&quot;</span>, <span class="stringliteral">&quot;ps_5_0&quot;</span>, D3D10_SHADER_ENABLE_STRICTNESS, 0, &amp;pixelShaderBuffer, &amp;errorMessage);</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> {</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (errorMessage)</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> {</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> output_shader_error_message(errorMessage, hwnd, psFilename);</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> }</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> {</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to compile shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> }</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> }</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> </div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="comment">// Create the vertex shader from the buffer.</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> result = device-&gt;CreateVertexShader(vertexShaderBuffer-&gt;GetBufferPointer(), vertexShaderBuffer-&gt;GetBufferSize(), NULL, &amp;vertex_shader_);</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> {</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to create vertex shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> }</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="comment">// Create the pixel shader from the buffer.</span></div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> result = device-&gt;CreatePixelShader(pixelShaderBuffer-&gt;GetBufferPointer(), pixelShaderBuffer-&gt;GetBufferSize(), NULL, &amp;pixel_shader_);</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> {</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to create pixel shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> }</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="comment">// Create the vertex input layout description.</span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> polygonLayout[0].SemanticName = <span class="stringliteral">&quot;POSITION&quot;</span>;</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> polygonLayout[0].SemanticIndex = 0;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> polygonLayout[0].Format = DXGI_FORMAT_R32G32B32_FLOAT;</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> polygonLayout[0].InputSlot = 0;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> polygonLayout[0].AlignedByteOffset = 0;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> polygonLayout[0].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> polygonLayout[0].InstanceDataStepRate = 0;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> </div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> polygonLayout[1].SemanticName = <span class="stringliteral">&quot;TEXCOORD&quot;</span>;</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> polygonLayout[1].SemanticIndex = 0;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> polygonLayout[1].Format = DXGI_FORMAT_R32G32_FLOAT;</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> polygonLayout[1].InputSlot = 0;</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> polygonLayout[1].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> polygonLayout[1].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> polygonLayout[1].InstanceDataStepRate = 0;</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> polygonLayout[2].SemanticName = <span class="stringliteral">&quot;NORMAL&quot;</span>;</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> polygonLayout[2].SemanticIndex = 0;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> polygonLayout[2].Format = DXGI_FORMAT_R32G32B32_FLOAT;</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> polygonLayout[2].InputSlot = 0;</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> polygonLayout[2].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> polygonLayout[2].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> polygonLayout[2].InstanceDataStepRate = 0;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> </div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="comment">// Get a count of the elements in the layout.</span></div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> numElements = <span class="keyword">sizeof</span>(polygonLayout) / <span class="keyword">sizeof</span>(polygonLayout[0]);</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> </div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="comment">// Create the vertex input layout.</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> result = device-&gt;CreateInputLayout(polygonLayout, numElements, vertexShaderBuffer-&gt;GetBufferPointer(), vertexShaderBuffer-&gt;GetBufferSize(), &amp;layout_);</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> {</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to create input layout&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> }</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="comment">// Release the vertex shader buffer and pixel shader buffer since they are no longer needed.</span></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> vertexShaderBuffer-&gt;Release();</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> vertexShaderBuffer = 0;</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> pixelShaderBuffer-&gt;Release();</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> pixelShaderBuffer = 0;</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="comment">// Create a texture sampler state description.</span></div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> samplerDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> samplerDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP;</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> samplerDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP;</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> samplerDesc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP;</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> samplerDesc.MipLODBias = 0.0f;</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> samplerDesc.MaxAnisotropy = 1;</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> samplerDesc.ComparisonFunc = D3D11_COMPARISON_ALWAYS;</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> samplerDesc.BorderColor[0] = 0;</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> samplerDesc.BorderColor[1] = 0;</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> samplerDesc.BorderColor[2] = 0;</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> samplerDesc.BorderColor[3] = 0;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> samplerDesc.MinLOD = 0;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> samplerDesc.MaxLOD = D3D11_FLOAT32_MAX;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="comment">// Create the texture sampler state.</span></div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> result = device-&gt;CreateSamplerState(&amp;samplerDesc, &amp;sample_state_);</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> {</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to create sampler state&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> }</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> </div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="comment">// Setup the description of the dynamic matrix constant buffer that is in the vertex shader.</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> matrixBufferDesc.Usage = D3D11_USAGE_DYNAMIC;</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> matrixBufferDesc.ByteWidth = <span class="keyword">sizeof</span>(matrix_buffer_type);</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> matrixBufferDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> matrixBufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> matrixBufferDesc.MiscFlags = 0;</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> matrixBufferDesc.StructureByteStride = 0;</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> </div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="comment">// Create the constant buffer pointer so we can access the vertex shader constant buffer from within this class.</span></div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> result = device-&gt;CreateBuffer(&amp;matrixBufferDesc, NULL, &amp;matrix_buffer_);</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> {</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to create matrix buffer&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> }</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> </div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="comment">// Setup the description of the dynamic sunlight constant buffer that is in the pixel shader.</span></div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> sunlightBufferDesc.Usage = D3D11_USAGE_DYNAMIC;</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> sunlightBufferDesc.ByteWidth = <span class="keyword">sizeof</span>(sun_light_buffer_type);</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> sunlightBufferDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> sunlightBufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> sunlightBufferDesc.MiscFlags = 0;</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> sunlightBufferDesc.StructureByteStride = 0;</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> </div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="comment">// Create the constant buffer pointer so we can access the pixel shader constant buffer from within this class.</span></div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> result = device-&gt;CreateBuffer(&amp;sunlightBufferDesc, NULL, &amp;sunlight_buffer_);</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> {</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to create sunlight buffer&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> }</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> </div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Shader initialized&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> </div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span>}</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> </div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> </div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> </div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span><span class="keywordtype">void</span> celshade_class::shutdown_shader()</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span>{</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Shutting down SunLightShaderClass&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> </div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="comment">// Release the light constant buffers.</span></div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span> (sunlight_color_buffer_)</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> {</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> sunlight_color_buffer_-&gt;Release();</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> sunlight_color_buffer_ = 0;</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> }</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> </div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span> (sunlight_position_buffer_)</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> {</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> sunlight_position_buffer_-&gt;Release();</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> sunlight_position_buffer_ = 0;</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> }</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> </div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <span class="comment">// Release the light constant buffer.</span></div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">if</span> (sunlight_buffer_)</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> {</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> sunlight_buffer_-&gt;Release();</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> sunlight_buffer_ = 0;</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> }</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> </div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <span class="comment">// Release the camera constant buffer.</span></div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">if</span> (camera_buffer_)</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> {</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> camera_buffer_-&gt;Release();</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> camera_buffer_ = 0;</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> }</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> </div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <span class="comment">// Release the matrix constant buffer.</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">if</span> (matrix_buffer_)</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> {</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> matrix_buffer_-&gt;Release();</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> matrix_buffer_ = 0;</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> }</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> </div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> <span class="comment">// Release the sampler state.</span></div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">if</span> (sample_state_)</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> {</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> sample_state_-&gt;Release();</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> sample_state_ = 0;</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> }</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> </div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <span class="comment">// Release the layout.</span></div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">if</span> (layout_)</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> {</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> layout_-&gt;Release();</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> layout_ = 0;</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> }</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> </div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="comment">// Release the pixel shader.</span></div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">if</span> (pixel_shader_)</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> {</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> pixel_shader_-&gt;Release();</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> pixel_shader_ = 0;</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> }</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> </div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <span class="comment">// Release the vertex shader.</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">if</span> (vertex_shader_)</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> {</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> vertex_shader_-&gt;Release();</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> vertex_shader_ = 0;</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> }</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> </div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;SunLightShaderClass shut down&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Shutdown);</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> </div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span>}</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> </div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> </div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span><span class="keywordtype">void</span> celshade_class::output_shader_error_message(ID3D10Blob* errorMessage, HWND hwnd, WCHAR* shaderFilename)</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span>{</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="keywordtype">char</span>* compileErrors;</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <span class="keywordtype">unsigned</span> __int64 bufferSize, i;</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> ofstream fout;</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> </div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> </div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="comment">// Get a pointer to the error message text buffer.</span></div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> compileErrors = (<span class="keywordtype">char</span>*)(errorMessage-&gt;GetBufferPointer());</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> </div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> <span class="comment">// Get the length of the message.</span></div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> bufferSize = errorMessage-&gt;GetBufferSize();</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> </div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> <span class="comment">// Open a file to write the error message to.</span></div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> fout.open(<span class="stringliteral">&quot;shader-error.txt&quot;</span>);</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> <span class="comment">// Write out the error message.</span></div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">for</span> (i = 0; i &lt; bufferSize; i++)</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> {</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> fout &lt;&lt; compileErrors[i];</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> }</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> </div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="comment">// Close the file.</span></div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> fout.close();</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> </div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="comment">// Release the error message.</span></div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> errorMessage-&gt;Release();</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> errorMessage = 0;</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> </div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <span class="comment">// Pop a message up on the screen to notify the user to check the text file for compile errors.</span></div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> MessageBox(hwnd, L<span class="stringliteral">&quot;Error compiling shader. Check shader-error.txt for message.&quot;</span>, shaderFilename, MB_OK);</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> </div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span>}</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> </div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> </div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span><span class="keywordtype">bool</span> celshade_class::set_shader_parameters(</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> ID3D11DeviceContext* device_context,</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> XMMATRIX world_matrix,</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> XMMATRIX view_matrix,</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> XMMATRIX projection_matrix,</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> ID3D11ShaderResourceView* texture,</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> XMFLOAT4 ambient_color,</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> XMFLOAT4 diffuse_color,</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> XMFLOAT3 light_direction,</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> <span class="keywordtype">float</span> sun_intensity</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> )</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span>{</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> HRESULT result;</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> D3D11_MAPPED_SUBRESOURCE mappedResource;</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> matrix_buffer_type* dataPtr;</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> camera_buffer_type* dataPtr2;</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> sun_light_buffer_type* dataPtr3;</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferNumber;</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> </div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <span class="comment">// Transpose the matrices to prepare them for the shader.</span></div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> world_matrix = XMMatrixTranspose(world_matrix);</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> view_matrix = XMMatrixTranspose(view_matrix);</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> projection_matrix = XMMatrixTranspose(projection_matrix);</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> </div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> <span class="comment">// Lock the constant buffer so it can be written to.</span></div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> result = device_context-&gt;Map(matrix_buffer_, 0, D3D11_MAP_WRITE_DISCARD, 0, &amp;mappedResource);</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> {</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> }</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> </div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> <span class="comment">// Get a pointer to the data in the constant buffer.</span></div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> dataPtr = (matrix_buffer_type*)mappedResource.pData;</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> </div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> <span class="comment">// Copy the matrices into the constant buffer.</span></div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> dataPtr-&gt;world = world_matrix;</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> dataPtr-&gt;view = view_matrix;</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> dataPtr-&gt;projection = projection_matrix;</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> </div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> <span class="comment">// Unlock the constant buffer.</span></div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> device_context-&gt;Unmap(matrix_buffer_, 0);</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> </div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> <span class="comment">// Set the position of the constant buffer in the vertex shader.</span></div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> bufferNumber = 0;</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> </div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> <span class="comment">// Finally set the constant buffer in the vertex shader with the updated values.</span></div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> device_context-&gt;VSSetConstantBuffers(bufferNumber, 1, &amp;matrix_buffer_);</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> </div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> <span class="comment">// Lock the sunlight constant buffer so it can be written to.</span></div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> result = device_context-&gt;Map(sunlight_buffer_, 0, D3D11_MAP_WRITE_DISCARD, 0, &amp;mappedResource);</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> {</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> }</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> </div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <span class="comment">// Get a pointer to the data in the constant buffer.</span></div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> dataPtr3 = (sun_light_buffer_type*)mappedResource.pData;</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> </div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> <span class="comment">// Copy the lighting variables into the constant buffer.</span></div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> dataPtr3-&gt;ambient_color = ambient_color;</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> dataPtr3-&gt;diffuse_color = diffuse_color;</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> dataPtr3-&gt;sun_direction = light_direction;</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> dataPtr3-&gt;intensity = sun_intensity;</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> </div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="comment">// Unlock the constant buffer.</span></div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> device_context-&gt;Unmap(sunlight_buffer_, 0);</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> </div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <span class="comment">// Set the position of the sunlight constant buffer in the pixel shader.</span></div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> bufferNumber = 0;</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> </div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> <span class="comment">// Finally set the sunlight constant buffer in the pixel shader with the updated values.</span></div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> device_context-&gt;PSSetConstantBuffers(bufferNumber, 1, &amp;sunlight_buffer_);</div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> </div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> <span class="comment">// Set shader texture resource in the pixel shader.</span></div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> device_context-&gt;PSSetShaderResources(0, 1, &amp;texture);</div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> </div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span>}</div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> </div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span><span class="keywordtype">void</span> celshade_class::render_shader(ID3D11DeviceContext* deviceContext, <span class="keywordtype">int</span> indexCount)</div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span>{</div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> <span class="comment">// Set the vertex input layout.</span></div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> deviceContext-&gt;IASetInputLayout(layout_);</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> </div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> <span class="comment">// Set the vertex and pixel shaders that will be used to render this triangle.</span></div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> deviceContext-&gt;VSSetShader(vertex_shader_, NULL, 0);</div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> deviceContext-&gt;PSSetShader(pixel_shader_, NULL, 0);</div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> </div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> <span class="comment">// Set the sampler state in the pixel shader.</span></div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> deviceContext-&gt;PSSetSamplers(0, 1, &amp;sample_state_);</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> </div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> <span class="comment">// render the triangle.</span></div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> deviceContext-&gt;DrawIndexed(indexCount, 0, 0);</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> </div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span>}</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
<div class="ttc" id="aclasscelshade__class_html"><div class="ttname"><a href="classcelshade__class.html">celshade_class</a></div><div class="ttdef"><b>Definition</b> <a href="celshade__class_8h_source.html#l00011">celshade_class.h:12</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_9f969fb6181399983524402442d3614f.html">src</a></li><li class="navelem"><a class="el" href="dir_b9b5903ed1b60456b17bbae9b6f189f3.html">shader</a></li><li class="navelem"><b>celshade_class.cpp</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,200 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: enginecustom/src/inc/shader/celshade_class.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('celshade__class_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">celshade_class.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#include &quot;Logger.h&quot;</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &lt;d3d11.h&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;d3dcompiler.h&gt;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &lt;directxmath.h&gt;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &lt;fstream&gt;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="keyword">using namespace </span>DirectX;</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="keyword">using namespace </span>std;</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="foldopen" id="foldopen00011" data-start="{" data-end="};">
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="classcelshade__class.html"> 11</a></span><span class="keyword">class </span><a class="code hl_class" href="classcelshade__class.html">celshade_class</a></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span>{</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> private :</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">struct </span>matrix_buffer_type</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> {</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> XMMATRIX world;</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> XMMATRIX view;</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> XMMATRIX projection;</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> };</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">struct </span>camera_buffer_type</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> XMFLOAT3 cameraPosition;</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keywordtype">float</span> padding;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> };</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">struct </span>sun_light_buffer_type</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> {</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> XMFLOAT4 diffuse_color;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> XMFLOAT4 ambient_color;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> XMFLOAT3 sun_direction;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordtype">float</span> intensity;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> };</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>public :</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <a class="code hl_class" href="classcelshade__class.html">celshade_class</a>();</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_class" href="classcelshade__class.html">celshade_class</a>(<span class="keyword">const</span> <a class="code hl_class" href="classcelshade__class.html">celshade_class</a>&amp;);</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <a class="code hl_class" href="classcelshade__class.html">~celshade_class</a>();</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">bool</span> initialize(ID3D11Device*, HWND);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">void</span> shutdown();</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">bool</span> render(</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> ID3D11DeviceContext* device_context,</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">int</span> index_count,</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> XMMATRIX world_matrix,</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> XMMATRIX view_matrix, XMMATRIX</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> projection_matrix,</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> ID3D11ShaderResourceView* texture,</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> XMFLOAT4 diffuse_color,</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> XMFLOAT4 ambient_color,</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> XMFLOAT3 sun_direction,</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">float</span> intensity</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> );</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">bool</span> initialize_shader(ID3D11Device*, HWND, WCHAR*, WCHAR*);</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">void</span> shutdown_shader();</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">void</span> output_shader_error_message(ID3D10Blob*, HWND, WCHAR*);</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">bool</span> set_shader_parameters(</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> ID3D11DeviceContext* device_context,</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> XMMATRIX world_matrix,</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> XMMATRIX view_matrix,</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> XMMATRIX projection_matrix,</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> ID3D11ShaderResourceView* texture,</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> XMFLOAT4 ambient_color,</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> XMFLOAT4 diffuse_color,</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> XMFLOAT3 light_direction,</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">float</span> sun_intensity</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> );</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">void</span> render_shader(ID3D11DeviceContext*, <span class="keywordtype">int</span>);</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> ID3D11VertexShader* vertex_shader_;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> ID3D11PixelShader* pixel_shader_;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> ID3D11InputLayout* layout_;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> ID3D11SamplerState* sample_state_;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> ID3D11Buffer* matrix_buffer_;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> ID3D11Buffer* camera_buffer_;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> ID3D11Buffer* sunlight_buffer_;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> ID3D11Buffer* sunlight_color_buffer_;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> ID3D11Buffer* sunlight_position_buffer_;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span>};</div>
</div>
<div class="ttc" id="aclasscelshade__class_html"><div class="ttname"><a href="classcelshade__class.html">celshade_class</a></div><div class="ttdef"><b>Definition</b> <a href="#l00011">celshade_class.h:12</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f4a881938f04d9c04de7741e8b9c813b.html">enginecustom</a></li><li class="navelem"><a class="el" href="dir_4288ac3ffb2af5f572fd6fdc04a1176b.html">src</a></li><li class="navelem"><a class="el" href="dir_fa382d1760f3c58d964524ef7c4d69c1.html">inc</a></li><li class="navelem"><a class="el" href="dir_a77fd64253ed7da2e528f6b352f899d7.html">shader</a></li><li class="navelem"><b>celshade_class.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('class_frustum_class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">FrustumClass Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_frustum_class.html">FrustumClass</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CheckCube</b>(float, float, float, float) (defined in <a class="el" href="class_frustum_class.html">FrustumClass</a>)</td><td class="entry"><a class="el" href="class_frustum_class.html">FrustumClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>CheckPoint</b>(float, float, float) (defined in <a class="el" href="class_frustum_class.html">FrustumClass</a>)</td><td class="entry"><a class="el" href="class_frustum_class.html">FrustumClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CheckRectangle</b>(float, float, float, float, float, float) (defined in <a class="el" href="class_frustum_class.html">FrustumClass</a>)</td><td class="entry"><a class="el" href="class_frustum_class.html">FrustumClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>CheckSphere</b>(float, float, float, float) (defined in <a class="el" href="class_frustum_class.html">FrustumClass</a>)</td><td class="entry"><a class="el" href="class_frustum_class.html">FrustumClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ConstructFrustum</b>(XMMATRIX, XMMATRIX, float) (defined in <a class="el" href="class_frustum_class.html">FrustumClass</a>)</td><td class="entry"><a class="el" href="class_frustum_class.html">FrustumClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>FrustumClass</b>() (defined in <a class="el" href="class_frustum_class.html">FrustumClass</a>)</td><td class="entry"><a class="el" href="class_frustum_class.html">FrustumClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FrustumClass</b>(const FrustumClass &amp;) (defined in <a class="el" href="class_frustum_class.html">FrustumClass</a>)</td><td class="entry"><a class="el" href="class_frustum_class.html">FrustumClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~FrustumClass</b>() (defined in <a class="el" href="class_frustum_class.html">FrustumClass</a>)</td><td class="entry"><a class="el" href="class_frustum_class.html">FrustumClass</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,637 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: FrustumClass Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('class_frustum_class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_frustum_class-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">FrustumClass Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3e4fb03cda7e5382639522186908d673" id="r_a3e4fb03cda7e5382639522186908d673"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3e4fb03cda7e5382639522186908d673">FrustumClass</a> (const <a class="el" href="class_frustum_class.html">FrustumClass</a> &amp;)</td></tr>
<tr class="separator:a3e4fb03cda7e5382639522186908d673"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeaf533105109b2a56940f8692aab123" id="r_adeaf533105109b2a56940f8692aab123"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adeaf533105109b2a56940f8692aab123">ConstructFrustum</a> (XMMATRIX, XMMATRIX, float)</td></tr>
<tr class="separator:adeaf533105109b2a56940f8692aab123"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61f780ff4f06d82d0d466f12f8cbbe76" id="r_a61f780ff4f06d82d0d466f12f8cbbe76"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a61f780ff4f06d82d0d466f12f8cbbe76">CheckPoint</a> (float, float, float)</td></tr>
<tr class="separator:a61f780ff4f06d82d0d466f12f8cbbe76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a066f37260b949abb5d0fefd06c0c6817" id="r_a066f37260b949abb5d0fefd06c0c6817"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a066f37260b949abb5d0fefd06c0c6817">CheckCube</a> (float, float, float, float)</td></tr>
<tr class="separator:a066f37260b949abb5d0fefd06c0c6817"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7806a6d95944f6794d90cd941d7860b2" id="r_a7806a6d95944f6794d90cd941d7860b2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7806a6d95944f6794d90cd941d7860b2">CheckSphere</a> (float, float, float, float)</td></tr>
<tr class="separator:a7806a6d95944f6794d90cd941d7860b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36ef6fb28871b148f1b17be30de2a084" id="r_a36ef6fb28871b148f1b17be30de2a084"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a36ef6fb28871b148f1b17be30de2a084">CheckRectangle</a> (float, float, float, float, float, float)</td></tr>
<tr class="separator:a36ef6fb28871b148f1b17be30de2a084"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="frustumclass_8h_source.html#l00015">15</a> of file <a class="el" href="frustumclass_8h_source.html">frustumclass.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a62130bf46eceff05f1fd7362d826a518" name="a62130bf46eceff05f1fd7362d826a518"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62130bf46eceff05f1fd7362d826a518">&#9670;&#160;</a></span>FrustumClass() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FrustumClass::FrustumClass </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="frustumclass_8cpp_source.html#l00004">4</a> of file <a class="el" href="frustumclass_8cpp_source.html">frustumclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 5</span>{</div>
<div class="line"><span class="lineno"> 6</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a3e4fb03cda7e5382639522186908d673" name="a3e4fb03cda7e5382639522186908d673"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e4fb03cda7e5382639522186908d673">&#9670;&#160;</a></span>FrustumClass() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FrustumClass::FrustumClass </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_frustum_class.html">FrustumClass</a> &amp;</td> <td class="paramname"><span class="paramname"><em>other</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="frustumclass_8cpp_source.html#l00009">9</a> of file <a class="el" href="frustumclass_8cpp_source.html">frustumclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 10</span>{</div>
<div class="line"><span class="lineno"> 11</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad109f05c5a62469d444de601de6caa72" name="ad109f05c5a62469d444de601de6caa72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad109f05c5a62469d444de601de6caa72">&#9670;&#160;</a></span>~FrustumClass()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FrustumClass::~FrustumClass </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="frustumclass_8cpp_source.html#l00014">14</a> of file <a class="el" href="frustumclass_8cpp_source.html">frustumclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 15</span>{</div>
<div class="line"><span class="lineno"> 16</span>}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a066f37260b949abb5d0fefd06c0c6817" name="a066f37260b949abb5d0fefd06c0c6817"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a066f37260b949abb5d0fefd06c0c6817">&#9670;&#160;</a></span>CheckCube()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool FrustumClass::CheckCube </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>xCenter</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>yCenter</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>zCenter</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>radius</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="frustumclass_8cpp_source.html#l00140">140</a> of file <a class="el" href="frustumclass_8cpp_source.html">frustumclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 141</span>{</div>
<div class="line"><span class="lineno"> 142</span> <span class="keywordtype">int</span> i;</div>
<div class="line"><span class="lineno"> 143</span> </div>
<div class="line"><span class="lineno"> 144</span> </div>
<div class="line"><span class="lineno"> 145</span> <span class="comment">// Check if any one point of the cube is in the view frustum.</span></div>
<div class="line"><span class="lineno"> 146</span> <span class="keywordflow">for</span> (i = 0; i &lt; 6; i++)</div>
<div class="line"><span class="lineno"> 147</span> {</div>
<div class="line"><span class="lineno"> 148</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter - radius) +</div>
<div class="line"><span class="lineno"> 149</span> m_planes[i].y * (yCenter - radius) +</div>
<div class="line"><span class="lineno"> 150</span> m_planes[i].z * (zCenter - radius) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 151</span> {</div>
<div class="line"><span class="lineno"> 152</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 153</span> }</div>
<div class="line"><span class="lineno"> 154</span> </div>
<div class="line"><span class="lineno"> 155</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter + radius) +</div>
<div class="line"><span class="lineno"> 156</span> m_planes[i].y * (yCenter - radius) +</div>
<div class="line"><span class="lineno"> 157</span> m_planes[i].z * (zCenter - radius) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 158</span> {</div>
<div class="line"><span class="lineno"> 159</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 160</span> }</div>
<div class="line"><span class="lineno"> 161</span> </div>
<div class="line"><span class="lineno"> 162</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter - radius) +</div>
<div class="line"><span class="lineno"> 163</span> m_planes[i].y * (yCenter + radius) +</div>
<div class="line"><span class="lineno"> 164</span> m_planes[i].z * (zCenter - radius) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 165</span> {</div>
<div class="line"><span class="lineno"> 166</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 167</span> }</div>
<div class="line"><span class="lineno"> 168</span> </div>
<div class="line"><span class="lineno"> 169</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter + radius) +</div>
<div class="line"><span class="lineno"> 170</span> m_planes[i].y * (yCenter + radius) +</div>
<div class="line"><span class="lineno"> 171</span> m_planes[i].z * (zCenter - radius) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 172</span> {</div>
<div class="line"><span class="lineno"> 173</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 174</span> }</div>
<div class="line"><span class="lineno"> 175</span> </div>
<div class="line"><span class="lineno"> 176</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter - radius) +</div>
<div class="line"><span class="lineno"> 177</span> m_planes[i].y * (yCenter - radius) +</div>
<div class="line"><span class="lineno"> 178</span> m_planes[i].z * (zCenter + radius) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 179</span> {</div>
<div class="line"><span class="lineno"> 180</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 181</span> }</div>
<div class="line"><span class="lineno"> 182</span> </div>
<div class="line"><span class="lineno"> 183</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter + radius) +</div>
<div class="line"><span class="lineno"> 184</span> m_planes[i].y * (yCenter - radius) +</div>
<div class="line"><span class="lineno"> 185</span> m_planes[i].z * (zCenter + radius) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 186</span> {</div>
<div class="line"><span class="lineno"> 187</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 188</span> }</div>
<div class="line"><span class="lineno"> 189</span> </div>
<div class="line"><span class="lineno"> 190</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter - radius) +</div>
<div class="line"><span class="lineno"> 191</span> m_planes[i].y * (yCenter + radius) +</div>
<div class="line"><span class="lineno"> 192</span> m_planes[i].z * (zCenter + radius) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 193</span> {</div>
<div class="line"><span class="lineno"> 194</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 195</span> }</div>
<div class="line"><span class="lineno"> 196</span> </div>
<div class="line"><span class="lineno"> 197</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter + radius) +</div>
<div class="line"><span class="lineno"> 198</span> m_planes[i].y * (yCenter + radius) +</div>
<div class="line"><span class="lineno"> 199</span> m_planes[i].z * (zCenter + radius) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 200</span> {</div>
<div class="line"><span class="lineno"> 201</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 202</span> }</div>
<div class="line"><span class="lineno"> 203</span> </div>
<div class="line"><span class="lineno"> 204</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 205</span> }</div>
<div class="line"><span class="lineno"> 206</span> </div>
<div class="line"><span class="lineno"> 207</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 208</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a61f780ff4f06d82d0d466f12f8cbbe76" name="a61f780ff4f06d82d0d466f12f8cbbe76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61f780ff4f06d82d0d466f12f8cbbe76">&#9670;&#160;</a></span>CheckPoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool FrustumClass::CheckPoint </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>x</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>y</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>z</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="frustumclass_8cpp_source.html#l00123">123</a> of file <a class="el" href="frustumclass_8cpp_source.html">frustumclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 124</span>{</div>
<div class="line"><span class="lineno"> 125</span> <span class="keywordtype">int</span> i;</div>
<div class="line"><span class="lineno"> 126</span> </div>
<div class="line"><span class="lineno"> 127</span> </div>
<div class="line"><span class="lineno"> 128</span> <span class="comment">// Check if the point is inside all six planes of the view frustum.</span></div>
<div class="line"><span class="lineno"> 129</span> <span class="keywordflow">for</span> (i = 0; i &lt; 6; i++)</div>
<div class="line"><span class="lineno"> 130</span> {</div>
<div class="line"><span class="lineno"> 131</span> <span class="keywordflow">if</span> (((m_planes[i].x * x) + (m_planes[i].y * y) + (m_planes[i].z * z) + m_planes[i].w) &lt; 0.0f)</div>
<div class="line"><span class="lineno"> 132</span> {</div>
<div class="line"><span class="lineno"> 133</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 134</span> }</div>
<div class="line"><span class="lineno"> 135</span> }</div>
<div class="line"><span class="lineno"> 136</span> </div>
<div class="line"><span class="lineno"> 137</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 138</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a36ef6fb28871b148f1b17be30de2a084" name="a36ef6fb28871b148f1b17be30de2a084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36ef6fb28871b148f1b17be30de2a084">&#9670;&#160;</a></span>CheckRectangle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool FrustumClass::CheckRectangle </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>xCenter</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>yCenter</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>zCenter</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>xSize</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>ySize</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>zSize</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="frustumclass_8cpp_source.html#l00227">227</a> of file <a class="el" href="frustumclass_8cpp_source.html">frustumclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 228</span>{</div>
<div class="line"><span class="lineno"> 229</span> <span class="keywordtype">int</span> i;</div>
<div class="line"><span class="lineno"> 230</span> </div>
<div class="line"><span class="lineno"> 231</span> </div>
<div class="line"><span class="lineno"> 232</span> <span class="comment">// Check if any of the 6 planes of the rectangle are inside the view frustum.</span></div>
<div class="line"><span class="lineno"> 233</span> <span class="keywordflow">for</span> (i = 0; i &lt; 6; i++)</div>
<div class="line"><span class="lineno"> 234</span> {</div>
<div class="line"><span class="lineno"> 235</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter - xSize) +</div>
<div class="line"><span class="lineno"> 236</span> m_planes[i].y * (yCenter - ySize) +</div>
<div class="line"><span class="lineno"> 237</span> m_planes[i].z * (zCenter - zSize) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 238</span> {</div>
<div class="line"><span class="lineno"> 239</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 240</span> }</div>
<div class="line"><span class="lineno"> 241</span> </div>
<div class="line"><span class="lineno"> 242</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter + xSize) +</div>
<div class="line"><span class="lineno"> 243</span> m_planes[i].y * (yCenter - ySize) +</div>
<div class="line"><span class="lineno"> 244</span> m_planes[i].z * (zCenter - zSize) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 245</span> {</div>
<div class="line"><span class="lineno"> 246</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 247</span> }</div>
<div class="line"><span class="lineno"> 248</span> </div>
<div class="line"><span class="lineno"> 249</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter - xSize) +</div>
<div class="line"><span class="lineno"> 250</span> m_planes[i].y * (yCenter + ySize) +</div>
<div class="line"><span class="lineno"> 251</span> m_planes[i].z * (zCenter - zSize) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 252</span> {</div>
<div class="line"><span class="lineno"> 253</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 254</span> }</div>
<div class="line"><span class="lineno"> 255</span> </div>
<div class="line"><span class="lineno"> 256</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter - xSize) +</div>
<div class="line"><span class="lineno"> 257</span> m_planes[i].y * (yCenter - ySize) +</div>
<div class="line"><span class="lineno"> 258</span> m_planes[i].z * (zCenter + zSize) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 259</span> {</div>
<div class="line"><span class="lineno"> 260</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 261</span> }</div>
<div class="line"><span class="lineno"> 262</span> </div>
<div class="line"><span class="lineno"> 263</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter + xSize) +</div>
<div class="line"><span class="lineno"> 264</span> m_planes[i].y * (yCenter + ySize) +</div>
<div class="line"><span class="lineno"> 265</span> m_planes[i].z * (zCenter - zSize) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 266</span> {</div>
<div class="line"><span class="lineno"> 267</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 268</span> }</div>
<div class="line"><span class="lineno"> 269</span> </div>
<div class="line"><span class="lineno"> 270</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter + xSize) +</div>
<div class="line"><span class="lineno"> 271</span> m_planes[i].y * (yCenter - ySize) +</div>
<div class="line"><span class="lineno"> 272</span> m_planes[i].z * (zCenter + zSize) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 273</span> {</div>
<div class="line"><span class="lineno"> 274</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 275</span> }</div>
<div class="line"><span class="lineno"> 276</span> </div>
<div class="line"><span class="lineno"> 277</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter - xSize) +</div>
<div class="line"><span class="lineno"> 278</span> m_planes[i].y * (yCenter + ySize) +</div>
<div class="line"><span class="lineno"> 279</span> m_planes[i].z * (zCenter + zSize) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 280</span> {</div>
<div class="line"><span class="lineno"> 281</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 282</span> }</div>
<div class="line"><span class="lineno"> 283</span> </div>
<div class="line"><span class="lineno"> 284</span> <span class="keywordflow">if</span> (m_planes[i].x * (xCenter + xSize) +</div>
<div class="line"><span class="lineno"> 285</span> m_planes[i].y * (yCenter + ySize) +</div>
<div class="line"><span class="lineno"> 286</span> m_planes[i].z * (zCenter + zSize) + m_planes[i].w &gt;= 0.0f)</div>
<div class="line"><span class="lineno"> 287</span> {</div>
<div class="line"><span class="lineno"> 288</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 289</span> }</div>
<div class="line"><span class="lineno"> 290</span> </div>
<div class="line"><span class="lineno"> 291</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 292</span> }</div>
<div class="line"><span class="lineno"> 293</span> </div>
<div class="line"><span class="lineno"> 294</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 295</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a7806a6d95944f6794d90cd941d7860b2" name="a7806a6d95944f6794d90cd941d7860b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7806a6d95944f6794d90cd941d7860b2">&#9670;&#160;</a></span>CheckSphere()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool FrustumClass::CheckSphere </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>xCenter</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>yCenter</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>zCenter</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>radius</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="frustumclass_8cpp_source.html#l00210">210</a> of file <a class="el" href="frustumclass_8cpp_source.html">frustumclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 211</span>{</div>
<div class="line"><span class="lineno"> 212</span> <span class="keywordtype">int</span> i;</div>
<div class="line"><span class="lineno"> 213</span> </div>
<div class="line"><span class="lineno"> 214</span> </div>
<div class="line"><span class="lineno"> 215</span> <span class="comment">// Check if the radius of the sphere is inside the view frustum.</span></div>
<div class="line"><span class="lineno"> 216</span> <span class="keywordflow">for</span> (i = 0; i &lt; 6; i++)</div>
<div class="line"><span class="lineno"> 217</span> {</div>
<div class="line"><span class="lineno"> 218</span> <span class="keywordflow">if</span> (((m_planes[i].x * xCenter) + (m_planes[i].y * yCenter) + (m_planes[i].z * zCenter) + m_planes[i].w) &lt; -radius)</div>
<div class="line"><span class="lineno"> 219</span> {</div>
<div class="line"><span class="lineno"> 220</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 221</span> }</div>
<div class="line"><span class="lineno"> 222</span> }</div>
<div class="line"><span class="lineno"> 223</span> </div>
<div class="line"><span class="lineno"> 224</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 225</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="adeaf533105109b2a56940f8692aab123" name="adeaf533105109b2a56940f8692aab123"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adeaf533105109b2a56940f8692aab123">&#9670;&#160;</a></span>ConstructFrustum()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FrustumClass::ConstructFrustum </td>
<td>(</td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>viewMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>projectionMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>screenDepth</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="frustumclass_8cpp_source.html#l00018">18</a> of file <a class="el" href="frustumclass_8cpp_source.html">frustumclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 19</span>{</div>
<div class="line"><span class="lineno"> 20</span> XMMATRIX finalMatrix;</div>
<div class="line"><span class="lineno"> 21</span> XMFLOAT4X4 projMatrix, matrix;</div>
<div class="line"><span class="lineno"> 22</span> <span class="keywordtype">float</span> zMinimum, r, t;</div>
<div class="line"><span class="lineno"> 23</span> </div>
<div class="line"><span class="lineno"> 24</span> <span class="comment">// Load the projection matrix into a XMFLOAT4X4 structure.</span></div>
<div class="line"><span class="lineno"> 25</span> XMStoreFloat4x4(&amp;projMatrix, projectionMatrix);</div>
<div class="line"><span class="lineno"> 26</span> </div>
<div class="line"><span class="lineno"> 27</span> <span class="comment">// Calculate the minimum Z distance in the frustum.</span></div>
<div class="line"><span class="lineno"> 28</span> zMinimum = -projMatrix._43 / projMatrix._33;</div>
<div class="line"><span class="lineno"> 29</span> r = screenDepth / (screenDepth - zMinimum);</div>
<div class="line"><span class="lineno"> 30</span> projMatrix._33 = r;</div>
<div class="line"><span class="lineno"> 31</span> projMatrix._43 = -r * zMinimum;</div>
<div class="line"><span class="lineno"> 32</span> </div>
<div class="line"><span class="lineno"> 33</span> <span class="comment">// Load the updated XMFLOAT4X4 back into the original projection matrix.</span></div>
<div class="line"><span class="lineno"> 34</span> projectionMatrix = XMLoadFloat4x4(&amp;projMatrix);</div>
<div class="line"><span class="lineno"> 35</span> </div>
<div class="line"><span class="lineno"> 36</span> <span class="comment">// Create the frustum matrix from the view matrix and updated projection matrix.</span></div>
<div class="line"><span class="lineno"> 37</span> finalMatrix = XMMatrixMultiply(viewMatrix, projectionMatrix);</div>
<div class="line"><span class="lineno"> 38</span> </div>
<div class="line"><span class="lineno"> 39</span> <span class="comment">// Load the final matrix into a XMFLOAT4X4 structure.</span></div>
<div class="line"><span class="lineno"> 40</span> XMStoreFloat4x4(&amp;matrix, finalMatrix);</div>
<div class="line"><span class="lineno"> 41</span> </div>
<div class="line"><span class="lineno"> 42</span> <span class="comment">// Get the near plane of the frustum.</span></div>
<div class="line"><span class="lineno"> 43</span> m_planes[0].x = matrix._13;</div>
<div class="line"><span class="lineno"> 44</span> m_planes[0].y = matrix._23;</div>
<div class="line"><span class="lineno"> 45</span> m_planes[0].z = matrix._33;</div>
<div class="line"><span class="lineno"> 46</span> m_planes[0].w = matrix._43;</div>
<div class="line"><span class="lineno"> 47</span> </div>
<div class="line"><span class="lineno"> 48</span> <span class="comment">// Normalize it.</span></div>
<div class="line"><span class="lineno"> 49</span> t = (float)sqrt((m_planes[0].x * m_planes[0].x) + (m_planes[0].y * m_planes[0].y) + (m_planes[0].z * m_planes[0].z));</div>
<div class="line"><span class="lineno"> 50</span> m_planes[0].x /= t;</div>
<div class="line"><span class="lineno"> 51</span> m_planes[0].y /= t;</div>
<div class="line"><span class="lineno"> 52</span> m_planes[0].z /= t;</div>
<div class="line"><span class="lineno"> 53</span> m_planes[0].w /= t;</div>
<div class="line"><span class="lineno"> 54</span> </div>
<div class="line"><span class="lineno"> 55</span> <span class="comment">// Calculate the far plane of frustum.</span></div>
<div class="line"><span class="lineno"> 56</span> m_planes[1].x = matrix._14 - matrix._13;</div>
<div class="line"><span class="lineno"> 57</span> m_planes[1].y = matrix._24 - matrix._23;</div>
<div class="line"><span class="lineno"> 58</span> m_planes[1].z = matrix._34 - matrix._33;</div>
<div class="line"><span class="lineno"> 59</span> m_planes[1].w = matrix._44 - matrix._43;</div>
<div class="line"><span class="lineno"> 60</span> </div>
<div class="line"><span class="lineno"> 61</span> <span class="comment">// Normalize it.</span></div>
<div class="line"><span class="lineno"> 62</span> t = (float)sqrt((m_planes[1].x * m_planes[1].x) + (m_planes[1].y * m_planes[1].y) + (m_planes[1].z * m_planes[1].z));</div>
<div class="line"><span class="lineno"> 63</span> m_planes[1].x /= t;</div>
<div class="line"><span class="lineno"> 64</span> m_planes[1].y /= t;</div>
<div class="line"><span class="lineno"> 65</span> m_planes[1].z /= t;</div>
<div class="line"><span class="lineno"> 66</span> m_planes[1].w /= t;</div>
<div class="line"><span class="lineno"> 67</span> </div>
<div class="line"><span class="lineno"> 68</span> <span class="comment">// Calculate the left plane of frustum.</span></div>
<div class="line"><span class="lineno"> 69</span> m_planes[2].x = matrix._14 + matrix._11;</div>
<div class="line"><span class="lineno"> 70</span> m_planes[2].y = matrix._24 + matrix._21;</div>
<div class="line"><span class="lineno"> 71</span> m_planes[2].z = matrix._34 + matrix._31;</div>
<div class="line"><span class="lineno"> 72</span> m_planes[2].w = matrix._44 + matrix._41;</div>
<div class="line"><span class="lineno"> 73</span> </div>
<div class="line"><span class="lineno"> 74</span> <span class="comment">// Normalize it.</span></div>
<div class="line"><span class="lineno"> 75</span> t = (float)sqrt((m_planes[2].x * m_planes[2].x) + (m_planes[2].y * m_planes[2].y) + (m_planes[2].z * m_planes[2].z));</div>
<div class="line"><span class="lineno"> 76</span> m_planes[2].x /= t;</div>
<div class="line"><span class="lineno"> 77</span> m_planes[2].y /= t;</div>
<div class="line"><span class="lineno"> 78</span> m_planes[2].z /= t;</div>
<div class="line"><span class="lineno"> 79</span> m_planes[2].w /= t;</div>
<div class="line"><span class="lineno"> 80</span> </div>
<div class="line"><span class="lineno"> 81</span> <span class="comment">// Calculate the right plane of frustum.</span></div>
<div class="line"><span class="lineno"> 82</span> m_planes[3].x = matrix._14 - matrix._11;</div>
<div class="line"><span class="lineno"> 83</span> m_planes[3].y = matrix._24 - matrix._21;</div>
<div class="line"><span class="lineno"> 84</span> m_planes[3].z = matrix._34 - matrix._31;</div>
<div class="line"><span class="lineno"> 85</span> m_planes[3].w = matrix._44 - matrix._41;</div>
<div class="line"><span class="lineno"> 86</span> </div>
<div class="line"><span class="lineno"> 87</span> <span class="comment">// Normalize it.</span></div>
<div class="line"><span class="lineno"> 88</span> t = (float)sqrt((m_planes[3].x * m_planes[3].x) + (m_planes[3].y * m_planes[3].y) + (m_planes[3].z * m_planes[3].z));</div>
<div class="line"><span class="lineno"> 89</span> m_planes[3].x /= t;</div>
<div class="line"><span class="lineno"> 90</span> m_planes[3].y /= t;</div>
<div class="line"><span class="lineno"> 91</span> m_planes[3].z /= t;</div>
<div class="line"><span class="lineno"> 92</span> m_planes[3].w /= t;</div>
<div class="line"><span class="lineno"> 93</span> </div>
<div class="line"><span class="lineno"> 94</span> <span class="comment">// Calculate the top plane of frustum.</span></div>
<div class="line"><span class="lineno"> 95</span> m_planes[4].x = matrix._14 - matrix._12;</div>
<div class="line"><span class="lineno"> 96</span> m_planes[4].y = matrix._24 - matrix._22;</div>
<div class="line"><span class="lineno"> 97</span> m_planes[4].z = matrix._34 - matrix._32;</div>
<div class="line"><span class="lineno"> 98</span> m_planes[4].w = matrix._44 - matrix._42;</div>
<div class="line"><span class="lineno"> 99</span> </div>
<div class="line"><span class="lineno"> 100</span> <span class="comment">// Normalize it.</span></div>
<div class="line"><span class="lineno"> 101</span> t = (float)sqrt((m_planes[4].x * m_planes[4].x) + (m_planes[4].y * m_planes[4].y) + (m_planes[4].z * m_planes[4].z));</div>
<div class="line"><span class="lineno"> 102</span> m_planes[4].x /= t;</div>
<div class="line"><span class="lineno"> 103</span> m_planes[4].y /= t;</div>
<div class="line"><span class="lineno"> 104</span> m_planes[4].z /= t;</div>
<div class="line"><span class="lineno"> 105</span> m_planes[4].w /= t;</div>
<div class="line"><span class="lineno"> 106</span> </div>
<div class="line"><span class="lineno"> 107</span> <span class="comment">// Calculate the bottom plane of frustum.</span></div>
<div class="line"><span class="lineno"> 108</span> m_planes[5].x = matrix._14 + matrix._12;</div>
<div class="line"><span class="lineno"> 109</span> m_planes[5].y = matrix._24 + matrix._22;</div>
<div class="line"><span class="lineno"> 110</span> m_planes[5].z = matrix._34 + matrix._32;</div>
<div class="line"><span class="lineno"> 111</span> m_planes[5].w = matrix._44 + matrix._42;</div>
<div class="line"><span class="lineno"> 112</span> </div>
<div class="line"><span class="lineno"> 113</span> <span class="comment">// Normalize it.</span></div>
<div class="line"><span class="lineno"> 114</span> t = (float)sqrt((m_planes[5].x * m_planes[5].x) + (m_planes[5].y * m_planes[5].y) + (m_planes[5].z * m_planes[5].z));</div>
<div class="line"><span class="lineno"> 115</span> m_planes[5].x /= t;</div>
<div class="line"><span class="lineno"> 116</span> m_planes[5].y /= t;</div>
<div class="line"><span class="lineno"> 117</span> m_planes[5].z /= t;</div>
<div class="line"><span class="lineno"> 118</span> m_planes[5].w /= t;</div>
<div class="line"><span class="lineno"> 119</span> </div>
<div class="line"><span class="lineno"> 120</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 121</span>}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>enginecustom/src/inc/system/<a class="el" href="frustumclass_8h_source.html">frustumclass.h</a></li>
<li>enginecustom/src/src/system/<a class="el" href="frustumclass_8cpp_source.html">frustumclass.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="class_frustum_class.html">FrustumClass</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('class_logger.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Logger Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_logger.html">Logger</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Get</a>()</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_logger.html#a0fc50378d880b648733da39e61fa51e3">GetLogBuffer</a>() const</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_logger.html#a44f087518b3a028018146b07b2bc8e3b">GetLogLevelInfo</a>(LogLevel level)</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_logger.html#ac9b431db882705fe2f33687938874676">Log</a>(const std::string &amp;message, LogLevel level)</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_logger.html#a0d21ab21689125fbb5e91584e4f37baa">Logger</a>(Logger const &amp;)=delete</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_logger.html#abc41bfb031d896170c7675fa96a6b30c">Logger</a>()</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_logger.html#ac744681e23720966b5f430ec2060da36">LogLevel</a> enum name</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>LogLevelCount</b> (defined in <a class="el" href="class_logger.html">Logger</a>)</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_disabledLogLevels</b> (defined in <a class="el" href="class_logger.html">Logger</a>)</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_logFilePath</b> (defined in <a class="el" href="class_logger.html">Logger</a>)</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_logger.html#a62b3e15fa3c170e5090a846fd0e9283e">ManageLogFiles</a>(const std::string &amp;directoryPath)</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(Logger const &amp;)=delete (defined in <a class="el" href="class_logger.html">Logger</a>)</td><td class="entry"><a class="el" href="class_logger.html">Logger</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,715 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Logger Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('class_logger.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="class_logger-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">Logger Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_logger_1_1_log_entry.html">LogEntry</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ac744681e23720966b5f430ec2060da36" id="r_ac744681e23720966b5f430ec2060da36"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a> { <br />
&#160;&#160;<b>Info</b>
, <b>Warning</b>
, <b>Error</b>
, <b>Shutdown</b>
, <br />
&#160;&#160;<b>Initialize</b>
, <b>Update</b>
, <b>Render</b>
, <b>Input</b>
, <br />
&#160;&#160;<b>Physics</b>
, <b>Audio</b>
, <b>Network</b>
, <b>Scripting</b>
, <br />
&#160;&#160;<b>AI</b>
, <b>Resource</b>
, <b>Memory</b>
, <b>Debug</b>
, <br />
&#160;&#160;<b>Count</b>
<br />
}</td></tr>
<tr class="separator:ac744681e23720966b5f430ec2060da36"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0d21ab21689125fbb5e91584e4f37baa" id="r_a0d21ab21689125fbb5e91584e4f37baa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0d21ab21689125fbb5e91584e4f37baa">Logger</a> (<a class="el" href="class_logger.html">Logger</a> const &amp;)=delete</td></tr>
<tr class="separator:a0d21ab21689125fbb5e91584e4f37baa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae14ecca1071f841760f40b5a1398580c" id="r_ae14ecca1071f841760f40b5a1398580c"><td class="memItemLeft" align="right" valign="top"><a id="ae14ecca1071f841760f40b5a1398580c" name="ae14ecca1071f841760f40b5a1398580c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="class_logger.html">Logger</a> const &amp;)=delete</td></tr>
<tr class="separator:ae14ecca1071f841760f40b5a1398580c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc41bfb031d896170c7675fa96a6b30c" id="r_abc41bfb031d896170c7675fa96a6b30c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abc41bfb031d896170c7675fa96a6b30c">Logger</a> ()</td></tr>
<tr class="separator:abc41bfb031d896170c7675fa96a6b30c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94f47ba0ef38ea7bcf1056f64d2645e4" id="r_a94f47ba0ef38ea7bcf1056f64d2645e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a> (const std::string &amp;message, const std::string &amp;fileName, int lineNumber, <a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a> level=LogLevel::Info)</td></tr>
<tr class="separator:a94f47ba0ef38ea7bcf1056f64d2645e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9b431db882705fe2f33687938874676" id="r_ac9b431db882705fe2f33687938874676"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac9b431db882705fe2f33687938874676">Log</a> (const std::string &amp;message, <a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a> level)</td></tr>
<tr class="separator:ac9b431db882705fe2f33687938874676"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fc50378d880b648733da39e61fa51e3" id="r_a0fc50378d880b648733da39e61fa51e3"><td class="memItemLeft" align="right" valign="top">const std::deque&lt; <a class="el" href="struct_logger_1_1_log_entry.html">LogEntry</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0fc50378d880b648733da39e61fa51e3">GetLogBuffer</a> () const</td></tr>
<tr class="separator:a0fc50378d880b648733da39e61fa51e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62b3e15fa3c170e5090a846fd0e9283e" id="r_a62b3e15fa3c170e5090a846fd0e9283e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a62b3e15fa3c170e5090a846fd0e9283e">ManageLogFiles</a> (const std::string &amp;directoryPath)</td></tr>
<tr class="separator:a62b3e15fa3c170e5090a846fd0e9283e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a08e3e1b899767a6d833136c9fb4f15c2" id="r_a08e3e1b899767a6d833136c9fb4f15c2"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_logger.html">Logger</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a08e3e1b899767a6d833136c9fb4f15c2">Get</a> ()</td></tr>
<tr class="separator:a08e3e1b899767a6d833136c9fb4f15c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44f087518b3a028018146b07b2bc8e3b" id="r_a44f087518b3a028018146b07b2bc8e3b"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a44f087518b3a028018146b07b2bc8e3b">GetLogLevelInfo</a> (<a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a> level)</td></tr>
<tr class="separator:a44f087518b3a028018146b07b2bc8e3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:acf4389b1b0b850181d3674f3527fc1cd" id="r_acf4389b1b0b850181d3674f3527fc1cd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acf4389b1b0b850181d3674f3527fc1cd">m_disabledLogLevels</a> [LogLevelCount]</td></tr>
<tr class="separator:acf4389b1b0b850181d3674f3527fc1cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72080e328dfb167d4ba1162c2f82811f" id="r_a72080e328dfb167d4ba1162c2f82811f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a72080e328dfb167d4ba1162c2f82811f">m_logFilePath</a></td></tr>
<tr class="separator:a72080e328dfb167d4ba1162c2f82811f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a03b2af65e61167f66d3c68f904206206" id="r_a03b2af65e61167f66d3c68f904206206"><td class="memItemLeft" align="right" valign="top">static constexpr int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a03b2af65e61167f66d3c68f904206206">LogLevelCount</a> = static_cast&lt;int&gt;(LogLevel::Count)</td></tr>
<tr class="separator:a03b2af65e61167f66d3c68f904206206"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00013">13</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="ac744681e23720966b5f430ec2060da36" name="ac744681e23720966b5f430ec2060da36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac744681e23720966b5f430ec2060da36">&#9670;&#160;</a></span>LogLevel</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="#ac744681e23720966b5f430ec2060da36">Logger::LogLevel</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enum class representing different log levels. Each log level has a corresponding color for display purposes. The last entry, Count, is used to determine the number of log levels. </p>
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00037">37</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 38</span> {</div>
<div class="line"><span class="lineno"> 39</span> Info,</div>
<div class="line"><span class="lineno"> 40</span> Warning,</div>
<div class="line"><span class="lineno"> 41</span> Error,</div>
<div class="line"><span class="lineno"> 42</span> Shutdown,</div>
<div class="line"><span class="lineno"> 43</span> Initialize,</div>
<div class="line"><span class="lineno"> 44</span> Update,</div>
<div class="line"><span class="lineno"> 45</span> Render,</div>
<div class="line"><span class="lineno"> 46</span> Input,</div>
<div class="line"><span class="lineno"> 47</span> Physics,</div>
<div class="line"><span class="lineno"> 48</span> Audio,</div>
<div class="line"><span class="lineno"> 49</span> Network,</div>
<div class="line"><span class="lineno"> 50</span> Scripting,</div>
<div class="line"><span class="lineno"> 51</span> AI,</div>
<div class="line"><span class="lineno"> 52</span> Resource,</div>
<div class="line"><span class="lineno"> 53</span> Memory,</div>
<div class="line"><span class="lineno"> 54</span> Debug,</div>
<div class="line"><span class="lineno"> 55</span> Count <span class="comment">// Do not use this, it&#39;s just to get the number of log levels it must at the end</span></div>
<div class="line"><span class="lineno"> 56</span> };</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0d21ab21689125fbb5e91584e4f37baa" name="a0d21ab21689125fbb5e91584e4f37baa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d21ab21689125fbb5e91584e4f37baa">&#9670;&#160;</a></span>Logger() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Logger::Logger </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_logger.html">Logger</a> const &amp;</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Delete the copy constructor and assignment operator to prevent copying. </p>
</div>
</div>
<a id="abc41bfb031d896170c7675fa96a6b30c" name="abc41bfb031d896170c7675fa96a6b30c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc41bfb031d896170c7675fa96a6b30c">&#9670;&#160;</a></span>Logger() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Logger::Logger </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for the <a class="el" href="class_logger.html">Logger</a> class. Initializes the logger, sets up the log file path, and manages log files. </p>
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00116">116</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 117</span> {</div>
<div class="line"><span class="lineno"> 118</span> <span class="keywordtype">char</span>* appdata = <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 119</span> <span class="keywordtype">size_t</span> len;</div>
<div class="line"><span class="lineno"> 120</span> _dupenv_s(&amp;appdata, &amp;len, <span class="stringliteral">&quot;APPDATA&quot;</span>);</div>
<div class="line"><span class="lineno"> 121</span> <span class="keywordflow">if</span> (appdata == <span class="keyword">nullptr</span>)</div>
<div class="line"><span class="lineno"> 122</span> {</div>
<div class="line"><span class="lineno"> 123</span> m_appdataPath = <span class="stringliteral">&quot;log.log&quot;</span>;</div>
<div class="line"><span class="lineno"> 124</span> }</div>
<div class="line"><span class="lineno"> 125</span> <span class="keywordflow">else</span></div>
<div class="line"><span class="lineno"> 126</span> {</div>
<div class="line"><span class="lineno"> 127</span> m_appdataPath = appdata;</div>
<div class="line"><span class="lineno"> 128</span> }</div>
<div class="line"><span class="lineno"> 129</span> free(appdata);</div>
<div class="line"><span class="lineno"> 130</span> std::string directoryPath = m_appdataPath + <span class="stringliteral">&quot;\\Khaotic Engine&quot;</span>;</div>
<div class="line"><span class="lineno"> 131</span> CreateDirectoryA(directoryPath.c_str(), NULL);</div>
<div class="line"><span class="lineno"> 132</span> </div>
<div class="line"><span class="lineno"> 133</span> <a class="code hl_function" href="#a62b3e15fa3c170e5090a846fd0e9283e">ManageLogFiles</a>(directoryPath);</div>
<div class="line"><span class="lineno"> 134</span> </div>
<div class="line"><span class="lineno"> 135</span> m_logFilePath = directoryPath + <span class="stringliteral">&quot;\\&quot;</span> + m_logFileName;</div>
<div class="line"><span class="lineno"> 136</span> </div>
<div class="line"><span class="lineno"> 137</span> <span class="comment">// Enable only the Error warning and shutdown log levels</span></div>
<div class="line"><span class="lineno"> 138</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; LogLevelCount; i++)</div>
<div class="line"><span class="lineno"> 139</span> {</div>
<div class="line"><span class="lineno"> 140</span> m_disabledLogLevels[i] = <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 141</span> </div>
<div class="line"><span class="lineno"> 142</span> <span class="keywordflow">if</span> (i == <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(LogLevel::Error) || i == <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(LogLevel::Warning) || i == <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(LogLevel::Shutdown))</div>
<div class="line"><span class="lineno"> 143</span> {</div>
<div class="line"><span class="lineno"> 144</span> m_disabledLogLevels[i] = <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 145</span> </div>
<div class="line"><span class="lineno"> 146</span> }</div>
<div class="line"><span class="lineno"> 147</span> }</div>
<div class="line"><span class="lineno"> 148</span> </div>
<div class="line"><span class="lineno"> 149</span> }</div>
<div class="ttc" id="aclass_logger_html_a62b3e15fa3c170e5090a846fd0e9283e"><div class="ttname"><a href="#a62b3e15fa3c170e5090a846fd0e9283e">Logger::ManageLogFiles</a></div><div class="ttdeci">void ManageLogFiles(const std::string &amp;directoryPath)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00230">Logger.h:230</a></div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a08e3e1b899767a6d833136c9fb4f15c2" name="a08e3e1b899767a6d833136c9fb4f15c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08e3e1b899767a6d833136c9fb4f15c2">&#9670;&#160;</a></span>Get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_logger.html">Logger</a> &amp; Logger::Get </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the singleton instance of the <a class="el" href="class_logger.html">Logger</a> class. </p><dl class="section return"><dt>Returns</dt><dd>A reference to the <a class="el" href="class_logger.html">Logger</a> instance. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00020">20</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 21</span> {</div>
<div class="line"><span class="lineno"> 22</span> <span class="keyword">static</span> <a class="code hl_class" href="class_logger.html">Logger</a> instance;</div>
<div class="line"><span class="lineno"> 23</span> <span class="keywordflow">return</span> instance;</div>
<div class="line"><span class="lineno"> 24</span> }</div>
<div class="ttc" id="aclass_logger_html"><div class="ttname"><a href="class_logger.html">Logger</a></div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00013">Logger.h:14</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0fc50378d880b648733da39e61fa51e3" name="a0fc50378d880b648733da39e61fa51e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fc50378d880b648733da39e61fa51e3">&#9670;&#160;</a></span>GetLogBuffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::deque&lt; <a class="el" href="struct_logger_1_1_log_entry.html">LogEntry</a> &gt; &amp; Logger::GetLogBuffer </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the loggBuffer deque. </p><dl class="section return"><dt>Returns</dt><dd>A constant reference to the logBuffer deque containing log entries. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00220">220</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 220</span>{ <span class="keywordflow">return</span> logBuffer; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a44f087518b3a028018146b07b2bc8e3b" name="a44f087518b3a028018146b07b2bc8e3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44f087518b3a028018146b07b2bc8e3b">&#9670;&#160;</a></span>GetLogLevelInfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static const <a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a> Logger::GetLogLevelInfo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a></td> <td class="paramname"><span class="paramname"><em>level</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the <a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a> for a given log level. This function returns a <a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a> struct containing the name, value, and color of the log level. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">level</td><td>The log level for which to get the information. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a> struct containing the information for the specified log level. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00088">88</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 89</span> {</div>
<div class="line"><span class="lineno"> 90</span> <span class="keywordflow">switch</span> (level)</div>
<div class="line"><span class="lineno"> 91</span> {</div>
<div class="line"><span class="lineno"> 92</span> <span class="keywordflow">case</span> LogLevel::Info: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Info&quot;</span>, 0, ImVec4(0.0f, 1.0f, 0.0f, 1.0f) };</div>
<div class="line"><span class="lineno"> 93</span> <span class="keywordflow">case</span> LogLevel::Warning: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Warning&quot;</span>, 1, ImVec4(1.0f, 1.0f, 0.0f, 1.0f) };</div>
<div class="line"><span class="lineno"> 94</span> <span class="keywordflow">case</span> LogLevel::Error: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Error&quot;</span>, 2, ImVec4(1.0f, 0.0f, 0.0f, 1.0f) };</div>
<div class="line"><span class="lineno"> 95</span> <span class="keywordflow">case</span> LogLevel::Shutdown: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;shutdown&quot;</span>, 3, ImVec4(0.5f, 0.0f, 0.0f, 1.0f) };</div>
<div class="line"><span class="lineno"> 96</span> <span class="keywordflow">case</span> LogLevel::Initialize: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;initialize&quot;</span>, 4, ImVec4(0.0f, 1.0f, 1.0f, 1.0f) };</div>
<div class="line"><span class="lineno"> 97</span> <span class="keywordflow">case</span> LogLevel::Update: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Update&quot;</span>, 5, ImVec4(1.0f, 0.0f, 1.0f, 1.0f) };</div>
<div class="line"><span class="lineno"> 98</span> <span class="keywordflow">case</span> LogLevel::Render: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;render&quot;</span>, 6, ImVec4(1.0f, 1.0f, 1.0f, 1.0f) };</div>
<div class="line"><span class="lineno"> 99</span> <span class="keywordflow">case</span> LogLevel::Input: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Input&quot;</span>, 7, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><span class="lineno"> 100</span> <span class="keywordflow">case</span> LogLevel::Physics: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;physics&quot;</span>, 8, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><span class="lineno"> 101</span> <span class="keywordflow">case</span> LogLevel::Audio: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Audio&quot;</span>, 9, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><span class="lineno"> 102</span> <span class="keywordflow">case</span> LogLevel::Network: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Network&quot;</span>, 10, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><span class="lineno"> 103</span> <span class="keywordflow">case</span> LogLevel::Scripting: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Scripting&quot;</span>, 11, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><span class="lineno"> 104</span> <span class="keywordflow">case</span> LogLevel::AI: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;AI&quot;</span>, 12, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><span class="lineno"> 105</span> <span class="keywordflow">case</span> LogLevel::Resource: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Resource&quot;</span>, 13, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><span class="lineno"> 106</span> <span class="keywordflow">case</span> LogLevel::Memory: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Memory&quot;</span>, 14, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><span class="lineno"> 107</span> <span class="keywordflow">case</span> LogLevel::Debug: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Debug&quot;</span>, 15, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
<div class="line"><span class="lineno"> 108</span> <span class="keywordflow">default</span>: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">&quot;Unknown&quot;</span>, 16, ImVec4(1.0f, 1.0f, 1.0f, 1.0f) };</div>
<div class="line"><span class="lineno"> 109</span> }</div>
<div class="line"><span class="lineno"> 110</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a94f47ba0ef38ea7bcf1056f64d2645e4" name="a94f47ba0ef38ea7bcf1056f64d2645e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94f47ba0ef38ea7bcf1056f64d2645e4">&#9670;&#160;</a></span>Log() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Logger::Log </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>message</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>fileName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>lineNumber</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a></td> <td class="paramname"><span class="paramname"><em>level</em></span><span class="paramdefsep"> = </span><span class="paramdefval">LogLevel::Info</span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write a log message to the log file and console. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">message</td><td></td></tr>
<tr><td class="paramname">fileName</td><td></td></tr>
<tr><td class="paramname">lineNumber</td><td></td></tr>
<tr><td class="paramname">level</td><td></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00158">158</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 159</span> {</div>
<div class="line"><span class="lineno"> 160</span> </div>
<div class="line"><span class="lineno"> 161</span> <span class="keyword">auto</span> now = std::chrono::system_clock::now();</div>
<div class="line"><span class="lineno"> 162</span> <span class="keyword">auto</span> in_time_t = std::chrono::system_clock::to_time_t(now);</div>
<div class="line"><span class="lineno"> 163</span> </div>
<div class="line"><span class="lineno"> 164</span> std::tm buf;</div>
<div class="line"><span class="lineno"> 165</span> localtime_s(&amp;buf, &amp;in_time_t);</div>
<div class="line"><span class="lineno"> 166</span> </div>
<div class="line"><span class="lineno"> 167</span> <span class="comment">// Obtenez les millisecondes <20> partir de maintenant</span></div>
<div class="line"><span class="lineno"> 168</span> <span class="keyword">auto</span> ms = std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;(now.time_since_epoch()) % 1000;</div>
<div class="line"><span class="lineno"> 169</span> </div>
<div class="line"><span class="lineno"> 170</span> <span class="comment">// Utilisez LogLevelToString pour obtenir la cha<68>ne de caract<63>res du niveau de log</span></div>
<div class="line"><span class="lineno"> 171</span> std::string levelStr = <a class="code hl_function" href="#a44f087518b3a028018146b07b2bc8e3b">GetLogLevelInfo</a>(level).name;</div>
<div class="line"><span class="lineno"> 172</span> </div>
<div class="line"><span class="lineno"> 173</span> std::stringstream ss;</div>
<div class="line"><span class="lineno"> 174</span> ss &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; std::put_time(&amp;buf, <span class="stringliteral">&quot;%Y-%m-%d&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;] &quot;</span></div>
<div class="line"><span class="lineno"> 175</span> &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; std::put_time(&amp;buf, <span class="stringliteral">&quot;%X&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::setfill(<span class="charliteral">&#39;0&#39;</span>) &lt;&lt; std::setw(3) &lt;&lt; ms.count() &lt;&lt; <span class="stringliteral">&quot;] &quot;</span></div>
<div class="line"><span class="lineno"> 176</span> &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; levelStr &lt;&lt; <span class="stringliteral">&quot;] &quot;</span></div>
<div class="line"><span class="lineno"> 177</span> &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; fileName &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; lineNumber &lt;&lt; <span class="stringliteral">&quot;] &quot;</span></div>
<div class="line"><span class="lineno"> 178</span> &lt;&lt; message;</div>
<div class="line"><span class="lineno"> 179</span> </div>
<div class="line"><span class="lineno"> 180</span> <a class="code hl_function" href="#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(ss.str(), level);</div>
<div class="line"><span class="lineno"> 181</span> </div>
<div class="line"><span class="lineno"> 182</span> std::ofstream file(m_logFilePath, std::ios::app);</div>
<div class="line"><span class="lineno"> 183</span> <span class="keywordflow">if</span> (file.is_open())</div>
<div class="line"><span class="lineno"> 184</span> {</div>
<div class="line"><span class="lineno"> 185</span> file &lt;&lt; ss.str() &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 186</span> file.close();</div>
<div class="line"><span class="lineno"> 187</span> }</div>
<div class="line"><span class="lineno"> 188</span> }</div>
<div class="ttc" id="aclass_logger_html_a44f087518b3a028018146b07b2bc8e3b"><div class="ttname"><a href="#a44f087518b3a028018146b07b2bc8e3b">Logger::GetLogLevelInfo</a></div><div class="ttdeci">static const LogLevelInfo GetLogLevelInfo(LogLevel level)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00088">Logger.h:88</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ac9b431db882705fe2f33687938874676" name="ac9b431db882705fe2f33687938874676"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9b431db882705fe2f33687938874676">&#9670;&#160;</a></span>Log() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Logger::Log </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>message</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a></td> <td class="paramname"><span class="paramname"><em>level</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write a log message to the log buffer. This is the fonction wich is used to send log messages to the gui. It's using a buffer to store the log messages with a maximum size. The buffer default size is 100 messages. This limit can be changed by changing the logBufferSize variable. But it is not recommended to change it because it can cause performance issues. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">message</td><td>The log message to write. </td></tr>
<tr><td class="paramname">level</td><td>The log level for the message. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00200">200</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 201</span> {</div>
<div class="line"><span class="lineno"> 202</span> </div>
<div class="line"><span class="lineno"> 203</span> <span class="comment">// Si le niveau de log est d<>sactiv<69>, ne faites rien</span></div>
<div class="line"><span class="lineno"> 204</span> <span class="keywordflow">if</span> (m_disabledLogLevels[<a class="code hl_function" href="#a44f087518b3a028018146b07b2bc8e3b">GetLogLevelInfo</a>(level).value])</div>
<div class="line"><span class="lineno"> 205</span> {</div>
<div class="line"><span class="lineno"> 206</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 207</span> }</div>
<div class="line"><span class="lineno"> 208</span> </div>
<div class="line"><span class="lineno"> 209</span> <span class="keywordflow">if</span> (logBuffer.size() &gt;= logBufferSize)</div>
<div class="line"><span class="lineno"> 210</span> {</div>
<div class="line"><span class="lineno"> 211</span> logBuffer.pop_front();</div>
<div class="line"><span class="lineno"> 212</span> }</div>
<div class="line"><span class="lineno"> 213</span> logBuffer.push_back({ message, level });</div>
<div class="line"><span class="lineno"> 214</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a62b3e15fa3c170e5090a846fd0e9283e" name="a62b3e15fa3c170e5090a846fd0e9283e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62b3e15fa3c170e5090a846fd0e9283e">&#9670;&#160;</a></span>ManageLogFiles()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Logger::ManageLogFiles </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>directoryPath</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function manages log files in the specified directory. It checks for log files with the ".log" extension, Then it keeps only the three most recent log files, deleting the oldest ones if there are more than three. It also creates a new log file for the current execution with a timestamp in its name. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">directoryPath</td><td></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00230">230</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 231</span> {</div>
<div class="line"><span class="lineno"> 232</span> std::vector&lt;std::filesystem::path&gt; logFiles;</div>
<div class="line"><span class="lineno"> 233</span> </div>
<div class="line"><span class="lineno"> 234</span> <span class="comment">// Parcourez tous les fichiers dans le dossier</span></div>
<div class="line"><span class="lineno"> 235</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; entry : std::filesystem::directory_iterator(directoryPath))</div>
<div class="line"><span class="lineno"> 236</span> {</div>
<div class="line"><span class="lineno"> 237</span> <span class="comment">// Si le fichier est un fichier de log, ajoutez-le <20> la liste</span></div>
<div class="line"><span class="lineno"> 238</span> <span class="keywordflow">if</span> (entry.path().extension() == <span class="stringliteral">&quot;.log&quot;</span>)</div>
<div class="line"><span class="lineno"> 239</span> {</div>
<div class="line"><span class="lineno"> 240</span> logFiles.push_back(entry.path());</div>
<div class="line"><span class="lineno"> 241</span> }</div>
<div class="line"><span class="lineno"> 242</span> }</div>
<div class="line"><span class="lineno"> 243</span> </div>
<div class="line"><span class="lineno"> 244</span> <span class="comment">// Si nous avons plus de trois fichiers de log, supprimez le plus ancien</span></div>
<div class="line"><span class="lineno"> 245</span> <span class="keywordflow">while</span> (logFiles.size() &gt;= 3)</div>
<div class="line"><span class="lineno"> 246</span> {</div>
<div class="line"><span class="lineno"> 247</span> <span class="comment">// Triez les fichiers par date de modification, le plus ancien en premier</span></div>
<div class="line"><span class="lineno"> 248</span> std::sort(logFiles.begin(), logFiles.end(), [](<span class="keyword">const</span> std::filesystem::path&amp; a, <span class="keyword">const</span> std::filesystem::path&amp; b)</div>
<div class="line"><span class="lineno"> 249</span> {</div>
<div class="line"><span class="lineno"> 250</span> return std::filesystem::last_write_time(a) &lt; std::filesystem::last_write_time(b);</div>
<div class="line"><span class="lineno"> 251</span> });</div>
<div class="line"><span class="lineno"> 252</span> </div>
<div class="line"><span class="lineno"> 253</span> <span class="comment">// Supprimez le fichier le plus ancien</span></div>
<div class="line"><span class="lineno"> 254</span> std::filesystem::remove(logFiles[0]);</div>
<div class="line"><span class="lineno"> 255</span> </div>
<div class="line"><span class="lineno"> 256</span> <span class="comment">// Supprimez-le de la liste</span></div>
<div class="line"><span class="lineno"> 257</span> logFiles.erase(logFiles.begin());</div>
<div class="line"><span class="lineno"> 258</span> }</div>
<div class="line"><span class="lineno"> 259</span> </div>
<div class="line"><span class="lineno"> 260</span> <span class="comment">// Cr<43>ez un nouveau fichier de log pour cette ex<65>cution</span></div>
<div class="line"><span class="lineno"> 261</span> <span class="keyword">auto</span> now = std::chrono::system_clock::now();</div>
<div class="line"><span class="lineno"> 262</span> <span class="keyword">auto</span> in_time_t = std::chrono::system_clock::to_time_t(now);</div>
<div class="line"><span class="lineno"> 263</span> std::tm buf;</div>
<div class="line"><span class="lineno"> 264</span> localtime_s(&amp;buf, &amp;in_time_t);</div>
<div class="line"><span class="lineno"> 265</span> </div>
<div class="line"><span class="lineno"> 266</span> std::stringstream ss;</div>
<div class="line"><span class="lineno"> 267</span> ss &lt;&lt; <span class="stringliteral">&quot;Khaotic_log_&quot;</span> &lt;&lt; std::put_time(&amp;buf, <span class="stringliteral">&quot;%Y_%m_%d_%Hh%Mm%Ss&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;.log&quot;</span>;</div>
<div class="line"><span class="lineno"> 268</span> m_logFileName = ss.str();</div>
<div class="line"><span class="lineno"> 269</span> }</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a03b2af65e61167f66d3c68f904206206" name="a03b2af65e61167f66d3c68f904206206"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03b2af65e61167f66d3c68f904206206">&#9670;&#160;</a></span>LogLevelCount</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int Logger::LogLevelCount = static_cast&lt;int&gt;(LogLevel::Count)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00059">59</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
</div>
</div>
<a id="acf4389b1b0b850181d3674f3527fc1cd" name="acf4389b1b0b850181d3674f3527fc1cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf4389b1b0b850181d3674f3527fc1cd">&#9670;&#160;</a></span>m_disabledLogLevels</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Logger::m_disabledLogLevels[LogLevelCount]</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00271">271</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
</div>
</div>
<a id="a72080e328dfb167d4ba1162c2f82811f" name="a72080e328dfb167d4ba1162c2f82811f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72080e328dfb167d4ba1162c2f82811f">&#9670;&#160;</a></span>m_logFilePath</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string Logger::m_logFilePath</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00272">272</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>enginecustom/src/inc/system/<a class="el" href="_logger_8h_source.html">Logger.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="class_logger.html">Logger</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,30 @@
var class_logger =
[
[ "LogEntry", "struct_logger_1_1_log_entry.html", null ],
[ "LogLevelInfo", "struct_logger_1_1_log_level_info.html", null ],
[ "LogLevel", "class_logger.html#ac744681e23720966b5f430ec2060da36", [
[ "Info", "class_logger.html#ac744681e23720966b5f430ec2060da36a4059b0251f66a18cb56f544728796875", null ],
[ "Warning", "class_logger.html#ac744681e23720966b5f430ec2060da36a0eaadb4fcb48a0a0ed7bc9868be9fbaa", null ],
[ "Error", "class_logger.html#ac744681e23720966b5f430ec2060da36a902b0d55fddef6f8d651fe1035b7d4bd", null ],
[ "Shutdown", "class_logger.html#ac744681e23720966b5f430ec2060da36a1a4ebb180ba59b067782515ffee6e975", null ],
[ "Initialize", "class_logger.html#ac744681e23720966b5f430ec2060da36a223e06f5cb15fc701ea1e686f7934f4f", null ],
[ "Update", "class_logger.html#ac744681e23720966b5f430ec2060da36a06933067aafd48425d67bcb01bba5cb6", null ],
[ "Render", "class_logger.html#ac744681e23720966b5f430ec2060da36a5e520da5341f2fec6d3bbfe7ef357922", null ],
[ "Input", "class_logger.html#ac744681e23720966b5f430ec2060da36a324118a6721dd6b8a9b9f4e327df2bf5", null ],
[ "Physics", "class_logger.html#ac744681e23720966b5f430ec2060da36a50ae99e9c35446c2580e4b540b0fd104", null ],
[ "Audio", "class_logger.html#ac744681e23720966b5f430ec2060da36ab22f0418e8ac915eb66f829d262d14a2", null ],
[ "Network", "class_logger.html#ac744681e23720966b5f430ec2060da36aeec89088ee408b80387155272b113256", null ],
[ "Scripting", "class_logger.html#ac744681e23720966b5f430ec2060da36a66f1aed235ade25269a561e81cbbb43a", null ],
[ "AI", "class_logger.html#ac744681e23720966b5f430ec2060da36a0a40e3c91a3a55c9a37428c6d194d0e5", null ],
[ "Resource", "class_logger.html#ac744681e23720966b5f430ec2060da36abe8545ae7ab0276e15898aae7acfbd7a", null ],
[ "Memory", "class_logger.html#ac744681e23720966b5f430ec2060da36a4789f23283b3a61f858b641a1bef19a3", null ],
[ "Debug", "class_logger.html#ac744681e23720966b5f430ec2060da36aa603905470e2a5b8c13e96b579ef0dba", null ],
[ "Count", "class_logger.html#ac744681e23720966b5f430ec2060da36ae93f994f01c537c4e2f7d8528c3eb5e9", null ]
] ],
[ "Logger", "class_logger.html#a0d21ab21689125fbb5e91584e4f37baa", null ],
[ "Logger", "class_logger.html#abc41bfb031d896170c7675fa96a6b30c", null ],
[ "GetLogBuffer", "class_logger.html#a0fc50378d880b648733da39e61fa51e3", null ],
[ "Log", "class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4", null ],
[ "Log", "class_logger.html#ac9b431db882705fe2f33687938874676", null ],
[ "ManageLogFiles", "class_logger.html#a62b3e15fa3c170e5090a846fd0e9283e", null ]
];

View File

@@ -0,0 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('class_model_list_class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ModelListClass Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_model_list_class.html">ModelListClass</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetData</b>(int, float &amp;, float &amp;, float &amp;) (defined in <a class="el" href="class_model_list_class.html">ModelListClass</a>)</td><td class="entry"><a class="el" href="class_model_list_class.html">ModelListClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>GetModelCount</b>() (defined in <a class="el" href="class_model_list_class.html">ModelListClass</a>)</td><td class="entry"><a class="el" href="class_model_list_class.html">ModelListClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Initialize</b>(int) (defined in <a class="el" href="class_model_list_class.html">ModelListClass</a>)</td><td class="entry"><a class="el" href="class_model_list_class.html">ModelListClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>ModelListClass</b>() (defined in <a class="el" href="class_model_list_class.html">ModelListClass</a>)</td><td class="entry"><a class="el" href="class_model_list_class.html">ModelListClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ModelListClass</b>(const ModelListClass &amp;) (defined in <a class="el" href="class_model_list_class.html">ModelListClass</a>)</td><td class="entry"><a class="el" href="class_model_list_class.html">ModelListClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>Shutdown</b>() (defined in <a class="el" href="class_model_list_class.html">ModelListClass</a>)</td><td class="entry"><a class="el" href="class_model_list_class.html">ModelListClass</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~ModelListClass</b>() (defined in <a class="el" href="class_model_list_class.html">ModelListClass</a>)</td><td class="entry"><a class="el" href="class_model_list_class.html">ModelListClass</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,335 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: ModelListClass Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('class_model_list_class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_model_list_class-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ModelListClass Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:abb41d82c8c9b1b3f3bff8ba1c49cd354" id="r_abb41d82c8c9b1b3f3bff8ba1c49cd354"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abb41d82c8c9b1b3f3bff8ba1c49cd354">ModelListClass</a> (const <a class="el" href="class_model_list_class.html">ModelListClass</a> &amp;)</td></tr>
<tr class="separator:abb41d82c8c9b1b3f3bff8ba1c49cd354"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac15a9d28578724481f7d6360c4425ad5" id="r_ac15a9d28578724481f7d6360c4425ad5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac15a9d28578724481f7d6360c4425ad5">Initialize</a> (int)</td></tr>
<tr class="separator:ac15a9d28578724481f7d6360c4425ad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66c1618fb5701843e0b422af4b5178a8" id="r_a66c1618fb5701843e0b422af4b5178a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a66c1618fb5701843e0b422af4b5178a8">Shutdown</a> ()</td></tr>
<tr class="separator:a66c1618fb5701843e0b422af4b5178a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5192c3a769afe0a1900b791176745859" id="r_a5192c3a769afe0a1900b791176745859"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5192c3a769afe0a1900b791176745859">GetModelCount</a> ()</td></tr>
<tr class="separator:a5192c3a769afe0a1900b791176745859"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ac84e8be10f288b154e3add1709b9d3" id="r_a9ac84e8be10f288b154e3add1709b9d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9ac84e8be10f288b154e3add1709b9d3">GetData</a> (int, float &amp;, float &amp;, float &amp;)</td></tr>
<tr class="separator:a9ac84e8be10f288b154e3add1709b9d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="_modellistclass_8h_source.html#l00015">15</a> of file <a class="el" href="_modellistclass_8h_source.html">Modellistclass.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a4479d11dad4537030fc97241908bf983" name="a4479d11dad4537030fc97241908bf983"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4479d11dad4537030fc97241908bf983">&#9670;&#160;</a></span>ModelListClass() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ModelListClass::ModelListClass </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_modellistclass_8cpp_source.html#l00004">4</a> of file <a class="el" href="_modellistclass_8cpp_source.html">Modellistclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 5</span>{</div>
<div class="line"><span class="lineno"> 6</span> m_ModelInfoList = 0;</div>
<div class="line"><span class="lineno"> 7</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="abb41d82c8c9b1b3f3bff8ba1c49cd354" name="abb41d82c8c9b1b3f3bff8ba1c49cd354"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb41d82c8c9b1b3f3bff8ba1c49cd354">&#9670;&#160;</a></span>ModelListClass() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ModelListClass::ModelListClass </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_model_list_class.html">ModelListClass</a> &amp;</td> <td class="paramname"><span class="paramname"><em>other</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_modellistclass_8cpp_source.html#l00010">10</a> of file <a class="el" href="_modellistclass_8cpp_source.html">Modellistclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 11</span>{</div>
<div class="line"><span class="lineno"> 12</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae848f3697fa778a8cf2e3b00599d2a85" name="ae848f3697fa778a8cf2e3b00599d2a85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae848f3697fa778a8cf2e3b00599d2a85">&#9670;&#160;</a></span>~ModelListClass()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ModelListClass::~ModelListClass </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_modellistclass_8cpp_source.html#l00015">15</a> of file <a class="el" href="_modellistclass_8cpp_source.html">Modellistclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 16</span>{</div>
<div class="line"><span class="lineno"> 17</span>}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a9ac84e8be10f288b154e3add1709b9d3" name="a9ac84e8be10f288b154e3add1709b9d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ac84e8be10f288b154e3add1709b9d3">&#9670;&#160;</a></span>GetData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ModelListClass::GetData </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>index</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float &amp;</td> <td class="paramname"><span class="paramname"><em>positionX</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float &amp;</td> <td class="paramname"><span class="paramname"><em>positionY</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float &amp;</td> <td class="paramname"><span class="paramname"><em>positionZ</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_modellistclass_8cpp_source.html#l00063">63</a> of file <a class="el" href="_modellistclass_8cpp_source.html">Modellistclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 64</span>{</div>
<div class="line"><span class="lineno"> 65</span> positionX = m_ModelInfoList[index].positionX;</div>
<div class="line"><span class="lineno"> 66</span> positionY = m_ModelInfoList[index].positionY;</div>
<div class="line"><span class="lineno"> 67</span> positionZ = m_ModelInfoList[index].positionZ;</div>
<div class="line"><span class="lineno"> 68</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 69</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a5192c3a769afe0a1900b791176745859" name="a5192c3a769afe0a1900b791176745859"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5192c3a769afe0a1900b791176745859">&#9670;&#160;</a></span>GetModelCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ModelListClass::GetModelCount </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_modellistclass_8cpp_source.html#l00058">58</a> of file <a class="el" href="_modellistclass_8cpp_source.html">Modellistclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 59</span>{</div>
<div class="line"><span class="lineno"> 60</span> <span class="keywordflow">return</span> m_modelCount;</div>
<div class="line"><span class="lineno"> 61</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac15a9d28578724481f7d6360c4425ad5" name="ac15a9d28578724481f7d6360c4425ad5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac15a9d28578724481f7d6360c4425ad5">&#9670;&#160;</a></span>Initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ModelListClass::Initialize </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>numModels</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_modellistclass_8cpp_source.html#l00020">20</a> of file <a class="el" href="_modellistclass_8cpp_source.html">Modellistclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 21</span>{</div>
<div class="line"><span class="lineno"> 22</span> </div>
<div class="line"><span class="lineno"> 23</span> <span class="keywordtype">int</span> i;</div>
<div class="line"><span class="lineno"> 24</span> </div>
<div class="line"><span class="lineno"> 25</span> <span class="comment">// Store the number of models.</span></div>
<div class="line"><span class="lineno"> 26</span> m_modelCount = numModels;</div>
<div class="line"><span class="lineno"> 27</span> </div>
<div class="line"><span class="lineno"> 28</span> <span class="comment">// Create a list array of the model information.</span></div>
<div class="line"><span class="lineno"> 29</span> m_ModelInfoList = <span class="keyword">new</span> ModelInfoType[m_modelCount];</div>
<div class="line"><span class="lineno"> 30</span> </div>
<div class="line"><span class="lineno"> 31</span> <span class="comment">// Seed the random generator with the current time.</span></div>
<div class="line"><span class="lineno"> 32</span> srand((<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)time(NULL));</div>
<div class="line"><span class="lineno"> 33</span> </div>
<div class="line"><span class="lineno"> 34</span> <span class="comment">// Go through all the models and randomly generate the position.</span></div>
<div class="line"><span class="lineno"> 35</span> <span class="keywordflow">for</span> (i = 0; i &lt; m_modelCount; i++)</div>
<div class="line"><span class="lineno"> 36</span> {</div>
<div class="line"><span class="lineno"> 37</span> <span class="comment">// Generate a random position in front of the viewer for the mode.</span></div>
<div class="line"><span class="lineno"> 38</span> m_ModelInfoList[i].positionX = (((float)rand() - (float)rand()) / RAND_MAX) * 10.0f;</div>
<div class="line"><span class="lineno"> 39</span> m_ModelInfoList[i].positionY = (((float)rand() - (float)rand()) / RAND_MAX) * 10.0f;</div>
<div class="line"><span class="lineno"> 40</span> m_ModelInfoList[i].positionZ = ((((float)rand() - (float)rand()) / RAND_MAX) * 10.0f) + 5.0f;</div>
<div class="line"><span class="lineno"> 41</span> }</div>
<div class="line"><span class="lineno"> 42</span> </div>
<div class="line"><span class="lineno"> 43</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 44</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a66c1618fb5701843e0b422af4b5178a8" name="a66c1618fb5701843e0b422af4b5178a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66c1618fb5701843e0b422af4b5178a8">&#9670;&#160;</a></span>Shutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ModelListClass::Shutdown </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_modellistclass_8cpp_source.html#l00046">46</a> of file <a class="el" href="_modellistclass_8cpp_source.html">Modellistclass.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 47</span>{</div>
<div class="line"><span class="lineno"> 48</span> <span class="comment">// Release the model information list.</span></div>
<div class="line"><span class="lineno"> 49</span> <span class="keywordflow">if</span> (m_ModelInfoList)</div>
<div class="line"><span class="lineno"> 50</span> {</div>
<div class="line"><span class="lineno"> 51</span> <span class="keyword">delete</span>[] m_ModelInfoList;</div>
<div class="line"><span class="lineno"> 52</span> m_ModelInfoList = 0;</div>
<div class="line"><span class="lineno"> 53</span> }</div>
<div class="line"><span class="lineno"> 54</span> </div>
<div class="line"><span class="lineno"> 55</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 56</span>}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>enginecustom/src/inc/system/<a class="el" href="_modellistclass_8h_source.html">Modellistclass.h</a></li>
<li>enginecustom/src/src/system/<a class="el" href="_modellistclass_8cpp_source.html">Modellistclass.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="class_model_list_class.html">ModelListClass</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('class_skybox.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Skybox Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_skybox.html">Skybox</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_skybox.html#a583a0753edede891759ecb62cf82a86f">ConstructSkybox</a>(application_class *app)</td><td class="entry"><a class="el" href="class_skybox.html">Skybox</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_skybox.html#af048306ba3fc893e485393452e8af429">Initialize</a>(d_3d_class *d3dClassRef)</td><td class="entry"><a class="el" href="class_skybox.html">Skybox</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_skybox.html#a77a92db4492ed94ed4bd101b05ffb1f4">Skybox</a>()</td><td class="entry"><a class="el" href="class_skybox.html">Skybox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>textures</b> (defined in <a class="el" href="class_skybox.html">Skybox</a>)</td><td class="entry"><a class="el" href="class_skybox.html">Skybox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>translations</b> (defined in <a class="el" href="class_skybox.html">Skybox</a>)</td><td class="entry"><a class="el" href="class_skybox.html">Skybox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~Skybox</b>() (defined in <a class="el" href="class_skybox.html">Skybox</a>)</td><td class="entry"><a class="el" href="class_skybox.html">Skybox</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,330 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Skybox Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('class_skybox.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="class_skybox-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">Skybox Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a77a92db4492ed94ed4bd101b05ffb1f4" id="r_a77a92db4492ed94ed4bd101b05ffb1f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a77a92db4492ed94ed4bd101b05ffb1f4">Skybox</a> ()</td></tr>
<tr class="memdesc:a77a92db4492ed94ed4bd101b05ffb1f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for the <a class="el" href="class_skybox.html">Skybox</a> class. Initializes the skybox with a reference to the <a class="el" href="classd__3d__class.html">d_3d_class</a> instance. <br /></td></tr>
<tr class="separator:a77a92db4492ed94ed4bd101b05ffb1f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af048306ba3fc893e485393452e8af429" id="r_af048306ba3fc893e485393452e8af429"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af048306ba3fc893e485393452e8af429">Initialize</a> (<a class="el" href="classd__3d__class.html">d_3d_class</a> *d3dClassRef)</td></tr>
<tr class="separator:af048306ba3fc893e485393452e8af429"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a583a0753edede891759ecb62cf82a86f" id="r_a583a0753edede891759ecb62cf82a86f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classobject.html">object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a583a0753edede891759ecb62cf82a86f">ConstructSkybox</a> (<a class="el" href="classapplication__class.html">application_class</a> *app)</td></tr>
<tr class="separator:a583a0753edede891759ecb62cf82a86f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a262dc36cc61d999b57e39a0299e092d1" id="r_a262dc36cc61d999b57e39a0299e092d1"><td class="memItemLeft" align="right" valign="top">std::vector&lt; ID3D11ShaderResourceView * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a262dc36cc61d999b57e39a0299e092d1">textures</a></td></tr>
<tr class="separator:a262dc36cc61d999b57e39a0299e092d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8fe8dad8c458bb335763a411cd20c2c" id="r_ad8fe8dad8c458bb335763a411cd20c2c"><td class="memItemLeft" align="right" valign="top">std::vector&lt; XMMATRIX &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad8fe8dad8c458bb335763a411cd20c2c">translations</a></td></tr>
<tr class="separator:ad8fe8dad8c458bb335763a411cd20c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="_skybox_8h_source.html#l00007">7</a> of file <a class="el" href="_skybox_8h_source.html">Skybox.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a77a92db4492ed94ed4bd101b05ffb1f4" name="a77a92db4492ed94ed4bd101b05ffb1f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77a92db4492ed94ed4bd101b05ffb1f4">&#9670;&#160;</a></span>Skybox()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Skybox::Skybox </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for the <a class="el" href="class_skybox.html">Skybox</a> class. Initializes the skybox with a reference to the <a class="el" href="classd__3d__class.html">d_3d_class</a> instance. </p>
<p class="definition">Definition at line <a class="el" href="_skybox_8cpp_source.html#l00003">3</a> of file <a class="el" href="_skybox_8cpp_source.html">Skybox.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 4</span>{</div>
<div class="line"><span class="lineno"> 5</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a62ad4c6b4b1965a0a6d8536a50d4c090" name="a62ad4c6b4b1965a0a6d8536a50d4c090"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62ad4c6b4b1965a0a6d8536a50d4c090">&#9670;&#160;</a></span>~Skybox()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Skybox::~Skybox </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_skybox_8cpp_source.html#l00007">7</a> of file <a class="el" href="_skybox_8cpp_source.html">Skybox.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 8</span>{</div>
<div class="line"><span class="lineno"> 9</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; texture : textures)</div>
<div class="line"><span class="lineno"> 10</span> {</div>
<div class="line"><span class="lineno"> 11</span> <span class="keywordflow">if</span> (texture)</div>
<div class="line"><span class="lineno"> 12</span> {</div>
<div class="line"><span class="lineno"> 13</span> texture-&gt;Release();</div>
<div class="line"><span class="lineno"> 14</span> texture = <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 15</span> }</div>
<div class="line"><span class="lineno"> 16</span> }</div>
<div class="line"><span class="lineno"> 17</span> textures.clear();</div>
<div class="line"><span class="lineno"> 18</span> translations.clear();</div>
<div class="line"><span class="lineno"> 19</span>}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a583a0753edede891759ecb62cf82a86f" name="a583a0753edede891759ecb62cf82a86f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a583a0753edede891759ecb62cf82a86f">&#9670;&#160;</a></span>ConstructSkybox()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classobject.html">object</a> * Skybox::ConstructSkybox </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classapplication__class.html">application_class</a> *</td> <td class="paramname"><span class="paramname"><em>app</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create the skybox object. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">app</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the created skybox object. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_skybox_8cpp_source.html#l00026">26</a> of file <a class="el" href="_skybox_8cpp_source.html">Skybox.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 27</span>{</div>
<div class="line"><span class="lineno"> 28</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Construct skybox&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><span class="lineno"> 29</span> </div>
<div class="line"><span class="lineno"> 30</span> <span class="keywordtype">char</span> modelFilename[128];</div>
<div class="line"><span class="lineno"> 31</span> strcpy_s(modelFilename, <span class="stringliteral">&quot;assets/Model/OBJ/skysphere.obj&quot;</span>);</div>
<div class="line"><span class="lineno"> 32</span> </div>
<div class="line"><span class="lineno"> 33</span> std::vector&lt;std::wstring&gt; skyboxTextures = {</div>
<div class="line"><span class="lineno"> 34</span> L<span class="stringliteral">&quot;assets/Skybox/skybox.png&quot;</span>,</div>
<div class="line"><span class="lineno"> 35</span> };</div>
<div class="line"><span class="lineno"> 36</span> </div>
<div class="line"><span class="lineno"> 37</span> <a class="code hl_struct" href="struct_texture_container.html">TextureContainer</a> SkyboxTextures;</div>
<div class="line"><span class="lineno"> 38</span> </div>
<div class="line"><span class="lineno"> 39</span> <span class="comment">// Load the textures</span></div>
<div class="line"><span class="lineno"> 40</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; textureFilename : skyboxTextures)</div>
<div class="line"><span class="lineno"> 41</span> {</div>
<div class="line"><span class="lineno"> 42</span> ID3D11ShaderResourceView* texture = <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 43</span> HRESULT result = DirectX::CreateWICTextureFromFile(m_d3dClassRef-&gt;<a class="code hl_function" href="classd__3d__class.html#a0979aea3c4bb6815908fbe188fc1c67e">get_device</a>(), m_d3dClassRef-&gt;<a class="code hl_function" href="classd__3d__class.html#a4ad87066c014351689f12981234beadb">get_device_context</a>(), textureFilename.c_str(), <span class="keyword">nullptr</span>, &amp;texture);</div>
<div class="line"><span class="lineno"> 44</span> <span class="keywordflow">if</span> (FAILED(result))</div>
<div class="line"><span class="lineno"> 45</span> {</div>
<div class="line"><span class="lineno"> 46</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to load texture: &quot;</span> + std::string(textureFilename.begin(), textureFilename.end()), __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 47</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 48</span> }</div>
<div class="line"><span class="lineno"> 49</span> SkyboxTextures.diffuse.push_back(texture);</div>
<div class="line"><span class="lineno"> 50</span> </div>
<div class="line"><span class="lineno"> 51</span> }</div>
<div class="line"><span class="lineno"> 52</span> </div>
<div class="line"><span class="lineno"> 53</span> <span class="comment">// Create the model object</span></div>
<div class="line"><span class="lineno"> 54</span> m_Skybox = <span class="keyword">new</span> <a class="code hl_class" href="classobject.html">object</a>(*app);</div>
<div class="line"><span class="lineno"> 55</span> HRESULT result = m_Skybox-&gt;Initialize(m_d3dClassRef-&gt;<a class="code hl_function" href="classd__3d__class.html#a0979aea3c4bb6815908fbe188fc1c67e">get_device</a>(), m_d3dClassRef-&gt;<a class="code hl_function" href="classd__3d__class.html#a4ad87066c014351689f12981234beadb">get_device_context</a>(), modelFilename, SkyboxTextures);</div>
<div class="line"><span class="lineno"> 56</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 57</span> {</div>
<div class="line"><span class="lineno"> 58</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Could not initialize the skybox model object&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 59</span> <span class="keyword">delete</span> m_Skybox;</div>
<div class="line"><span class="lineno"> 60</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 61</span> }</div>
<div class="line"><span class="lineno"> 62</span> m_Skybox-&gt;SetTranslateMatrix(XMMatrixTranslation(0.0f, 0.0f, 0.0f)); <span class="comment">// Set the initial translation of the skybox</span></div>
<div class="line"><span class="lineno"> 63</span> m_Skybox-&gt;SetActiveShader(ShaderType::SKYBOX);</div>
<div class="line"><span class="lineno"> 64</span> </div>
<div class="line"><span class="lineno"> 65</span> <span class="keywordflow">return</span> m_Skybox; <span class="comment">// Return the constructed skybox object</span></div>
<div class="line"><span class="lineno"> 66</span>}</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
<div class="ttc" id="aclassd__3d__class_html_a0979aea3c4bb6815908fbe188fc1c67e"><div class="ttname"><a href="classd__3d__class.html#a0979aea3c4bb6815908fbe188fc1c67e">d_3d_class::get_device</a></div><div class="ttdeci">ID3D11Device * get_device()</div><div class="ttdoc">Gets the Direct3D device.</div><div class="ttdef"><b>Definition</b> <a href="d__3d__class_8cpp_source.html#l00557">d_3d_class.cpp:557</a></div></div>
<div class="ttc" id="aclassd__3d__class_html_a4ad87066c014351689f12981234beadb"><div class="ttname"><a href="classd__3d__class.html#a4ad87066c014351689f12981234beadb">d_3d_class::get_device_context</a></div><div class="ttdeci">ID3D11DeviceContext * get_device_context()</div><div class="ttdoc">Gets the Direct3D device context.</div><div class="ttdef"><b>Definition</b> <a href="d__3d__class_8cpp_source.html#l00563">d_3d_class.cpp:563</a></div></div>
<div class="ttc" id="aclassobject_html"><div class="ttname"><a href="classobject.html">object</a></div><div class="ttdef"><b>Definition</b> <a href="object_8h_source.html#l00029">object.h:30</a></div></div>
<div class="ttc" id="astruct_texture_container_html"><div class="ttname"><a href="struct_texture_container.html">TextureContainer</a></div><div class="ttdef"><b>Definition</b> <a href="model__class_8h_source.html#l00033">model_class.h:34</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af048306ba3fc893e485393452e8af429" name="af048306ba3fc893e485393452e8af429"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af048306ba3fc893e485393452e8af429">&#9670;&#160;</a></span>Initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Skybox::Initialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classd__3d__class.html">d_3d_class</a> *</td> <td class="paramname"><span class="paramname"><em>d3dClassRef</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes the <a class="el" href="class_skybox.html">Skybox</a> with the given <a class="el" href="classd__3d__class.html">d_3d_class</a> reference. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">d3dClassRef</td><td></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_skybox_8cpp_source.html#l00021">21</a> of file <a class="el" href="_skybox_8cpp_source.html">Skybox.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 22</span>{</div>
<div class="line"><span class="lineno"> 23</span> m_d3dClassRef = d3dClassRef;</div>
<div class="line"><span class="lineno"> 24</span>}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a262dc36cc61d999b57e39a0299e092d1" name="a262dc36cc61d999b57e39a0299e092d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a262dc36cc61d999b57e39a0299e092d1">&#9670;&#160;</a></span>textures</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;ID3D11ShaderResourceView*&gt; Skybox::textures</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_skybox_8h_source.html#l00034">34</a> of file <a class="el" href="_skybox_8h_source.html">Skybox.h</a>.</p>
</div>
</div>
<a id="ad8fe8dad8c458bb335763a411cd20c2c" name="ad8fe8dad8c458bb335763a411cd20c2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8fe8dad8c458bb335763a411cd20c2c">&#9670;&#160;</a></span>translations</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;XMMATRIX&gt; Skybox::translations</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_skybox_8h_source.html#l00035">35</a> of file <a class="el" href="_skybox_8h_source.html">Skybox.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>enginecustom/src/inc/system/<a class="el" href="_skybox_8h_source.html">Skybox.h</a></li>
<li>enginecustom/src/src/system/<a class="el" href="_skybox_8cpp_source.html">Skybox.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="class_skybox.html">Skybox</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,6 @@
var class_skybox =
[
[ "Skybox", "class_skybox.html#a77a92db4492ed94ed4bd101b05ffb1f4", null ],
[ "ConstructSkybox", "class_skybox.html#a583a0753edede891759ecb62cf82a86f", null ],
[ "Initialize", "class_skybox.html#af048306ba3fc893e485393452e8af429", null ]
];

View File

@@ -0,0 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classalpha__map__shader__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">alpha_map_shader_class Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>alpha_map_shader_class</b>() (defined in <a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a>)</td><td class="entry"><a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>alpha_map_shader_class</b>(const alpha_map_shader_class &amp;) (defined in <a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a>)</td><td class="entry"><a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>initialize</b>(ID3D11Device *, HWND) (defined in <a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a>)</td><td class="entry"><a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>render</b>(ID3D11DeviceContext *, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView *, ID3D11ShaderResourceView *, ID3D11ShaderResourceView *) (defined in <a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a>)</td><td class="entry"><a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>shutdown</b>() (defined in <a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a>)</td><td class="entry"><a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~alpha_map_shader_class</b>() (defined in <a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a>)</td><td class="entry"><a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,358 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: alpha_map_shader_class Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classalpha__map__shader__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classalpha__map__shader__class-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">alpha_map_shader_class Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:acccd65f5625eb53eabb20efa1f956440" id="r_acccd65f5625eb53eabb20efa1f956440"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acccd65f5625eb53eabb20efa1f956440">alpha_map_shader_class</a> (const <a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a> &amp;)</td></tr>
<tr class="separator:acccd65f5625eb53eabb20efa1f956440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd43ecd52ccf266fee08e9d3bdf8b26a" id="r_afd43ecd52ccf266fee08e9d3bdf8b26a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afd43ecd52ccf266fee08e9d3bdf8b26a">initialize</a> (ID3D11Device *, HWND)</td></tr>
<tr class="separator:afd43ecd52ccf266fee08e9d3bdf8b26a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a315cf37f8c0a3df5846e1467031fad8e" id="r_a315cf37f8c0a3df5846e1467031fad8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a315cf37f8c0a3df5846e1467031fad8e">shutdown</a> ()</td></tr>
<tr class="separator:a315cf37f8c0a3df5846e1467031fad8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a105f32e5f23ac01b5693d77c69089ddd" id="r_a105f32e5f23ac01b5693d77c69089ddd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a105f32e5f23ac01b5693d77c69089ddd">render</a> (ID3D11DeviceContext *, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView *, ID3D11ShaderResourceView *, ID3D11ShaderResourceView *)</td></tr>
<tr class="separator:a105f32e5f23ac01b5693d77c69089ddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="alpha__map__shader__class_8h_source.html#l00020">20</a> of file <a class="el" href="alpha__map__shader__class_8h_source.html">alpha_map_shader_class.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a549d204dc60d0813c7cc87df16e78a2d" name="a549d204dc60d0813c7cc87df16e78a2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a549d204dc60d0813c7cc87df16e78a2d">&#9670;&#160;</a></span>alpha_map_shader_class() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">alpha_map_shader_class::alpha_map_shader_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="alpha__map__shader__class_8cpp_source.html#l00004">4</a> of file <a class="el" href="alpha__map__shader__class_8cpp_source.html">alpha_map_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 5</span>{</div>
<div class="line"><span class="lineno"> 6</span> vertex_shader_ = 0;</div>
<div class="line"><span class="lineno"> 7</span> pixel_shader_ = 0;</div>
<div class="line"><span class="lineno"> 8</span> layout_ = 0;</div>
<div class="line"><span class="lineno"> 9</span> matrix_buffer_ = 0;</div>
<div class="line"><span class="lineno"> 10</span> sample_state_ = 0;</div>
<div class="line"><span class="lineno"> 11</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="acccd65f5625eb53eabb20efa1f956440" name="acccd65f5625eb53eabb20efa1f956440"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acccd65f5625eb53eabb20efa1f956440">&#9670;&#160;</a></span>alpha_map_shader_class() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">alpha_map_shader_class::alpha_map_shader_class </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a> &amp;</td> <td class="paramname"><span class="paramname"><em>other</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="alpha__map__shader__class_8cpp_source.html#l00014">14</a> of file <a class="el" href="alpha__map__shader__class_8cpp_source.html">alpha_map_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 15</span>{</div>
<div class="line"><span class="lineno"> 16</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad577dc05ba6d8a0220cc95878345b38c" name="ad577dc05ba6d8a0220cc95878345b38c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad577dc05ba6d8a0220cc95878345b38c">&#9670;&#160;</a></span>~alpha_map_shader_class()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">alpha_map_shader_class::~alpha_map_shader_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="alpha__map__shader__class_8cpp_source.html#l00019">19</a> of file <a class="el" href="alpha__map__shader__class_8cpp_source.html">alpha_map_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 20</span>{</div>
<div class="line"><span class="lineno"> 21</span>}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="afd43ecd52ccf266fee08e9d3bdf8b26a" name="afd43ecd52ccf266fee08e9d3bdf8b26a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd43ecd52ccf266fee08e9d3bdf8b26a">&#9670;&#160;</a></span>initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool alpha_map_shader_class::initialize </td>
<td>(</td>
<td class="paramtype">ID3D11Device *</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HWND</td> <td class="paramname"><span class="paramname"><em>hwnd</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="alpha__map__shader__class_8cpp_source.html#l00024">24</a> of file <a class="el" href="alpha__map__shader__class_8cpp_source.html">alpha_map_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 25</span>{</div>
<div class="line"><span class="lineno"> 26</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing alpha_map_shader_class&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><span class="lineno"> 27</span> </div>
<div class="line"><span class="lineno"> 28</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><span class="lineno"> 29</span> <span class="keywordtype">wchar_t</span> vsFilename[128];</div>
<div class="line"><span class="lineno"> 30</span> <span class="keywordtype">wchar_t</span> psFilename[128];</div>
<div class="line"><span class="lineno"> 31</span> <span class="keywordtype">int</span> error;</div>
<div class="line"><span class="lineno"> 32</span> </div>
<div class="line"><span class="lineno"> 33</span> <span class="comment">// Set the filename of the vertex shader.</span></div>
<div class="line"><span class="lineno"> 34</span> error = wcscpy_s(vsFilename, 128, L<span class="stringliteral">&quot;src/hlsl/alphamap.vs&quot;</span>);</div>
<div class="line"><span class="lineno"> 35</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><span class="lineno"> 36</span> {</div>
<div class="line"><span class="lineno"> 37</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error copying string &quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 38</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 39</span> }</div>
<div class="line"><span class="lineno"> 40</span> </div>
<div class="line"><span class="lineno"> 41</span> <span class="comment">// Set the filename of the pixel shader.</span></div>
<div class="line"><span class="lineno"> 42</span> error = wcscpy_s(psFilename, 128, L<span class="stringliteral">&quot;src/hlsl/alphamap.ps&quot;</span>);</div>
<div class="line"><span class="lineno"> 43</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><span class="lineno"> 44</span> {</div>
<div class="line"><span class="lineno"> 45</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error copying string&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 46</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 47</span> }</div>
<div class="line"><span class="lineno"> 48</span> </div>
<div class="line"><span class="lineno"> 49</span> <span class="comment">// initialize the vertex and pixel shaders.</span></div>
<div class="line"><span class="lineno"> 50</span> result = initialize_shader(device, hwnd, vsFilename, psFilename);</div>
<div class="line"><span class="lineno"> 51</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 52</span> {</div>
<div class="line"><span class="lineno"> 53</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error initializing shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 54</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 55</span> }</div>
<div class="line"><span class="lineno"> 56</span> </div>
<div class="line"><span class="lineno"> 57</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 58</span>}</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a105f32e5f23ac01b5693d77c69089ddd" name="a105f32e5f23ac01b5693d77c69089ddd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a105f32e5f23ac01b5693d77c69089ddd">&#9670;&#160;</a></span>render()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool alpha_map_shader_class::render </td>
<td>(</td>
<td class="paramtype">ID3D11DeviceContext *</td> <td class="paramname"><span class="paramname"><em>deviceContext</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>indexCount</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>worldMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>viewMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>projectionMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ID3D11ShaderResourceView *</td> <td class="paramname"><span class="paramname"><em>texture1</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ID3D11ShaderResourceView *</td> <td class="paramname"><span class="paramname"><em>texture2</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ID3D11ShaderResourceView *</td> <td class="paramname"><span class="paramname"><em>texture3</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="alpha__map__shader__class_8cpp_source.html#l00070">70</a> of file <a class="el" href="alpha__map__shader__class_8cpp_source.html">alpha_map_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 72</span>{</div>
<div class="line"><span class="lineno"> 73</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><span class="lineno"> 74</span> </div>
<div class="line"><span class="lineno"> 75</span> </div>
<div class="line"><span class="lineno"> 76</span> <span class="comment">// Set the shader parameters that it will use for rendering.</span></div>
<div class="line"><span class="lineno"> 77</span> result = set_shader_parameters(deviceContext, worldMatrix, viewMatrix, projectionMatrix, texture1, texture2, texture3);</div>
<div class="line"><span class="lineno"> 78</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 79</span> {</div>
<div class="line"><span class="lineno"> 80</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error setting shader parameters&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 81</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 82</span> }</div>
<div class="line"><span class="lineno"> 83</span> </div>
<div class="line"><span class="lineno"> 84</span> <span class="comment">// Now render the prepared buffers with the shader.</span></div>
<div class="line"><span class="lineno"> 85</span> render_shader(deviceContext, indexCount);</div>
<div class="line"><span class="lineno"> 86</span> </div>
<div class="line"><span class="lineno"> 87</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 88</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a315cf37f8c0a3df5846e1467031fad8e" name="a315cf37f8c0a3df5846e1467031fad8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a315cf37f8c0a3df5846e1467031fad8e">&#9670;&#160;</a></span>shutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void alpha_map_shader_class::shutdown </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="alpha__map__shader__class_8cpp_source.html#l00061">61</a> of file <a class="el" href="alpha__map__shader__class_8cpp_source.html">alpha_map_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 62</span>{</div>
<div class="line"><span class="lineno"> 63</span> <span class="comment">// shutdown the vertex and pixel shaders as well as the related objects.</span></div>
<div class="line"><span class="lineno"> 64</span> shutdown_shader();</div>
<div class="line"><span class="lineno"> 65</span> </div>
<div class="line"><span class="lineno"> 66</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 67</span>}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>enginecustom/src/inc/shader/<a class="el" href="alpha__map__shader__class_8h_source.html">alpha_map_shader_class.h</a></li>
<li>enginecustom/src/src/shader/<a class="el" href="alpha__map__shader__class_8cpp_source.html">alpha_map_shader_class.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classalpha__map__shader__class.html">alpha_map_shader_class</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,181 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classapplication__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">application_class Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classapplication__class.html">application_class</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#aaa09afdc106fb3f82788c42272811657">add_cube</a>()</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a9a39dfe69bca6fe96a339ab47b2f0539">add_kobject</a>(std::wstring &amp;filepath)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#ab3b678dde613c8568a2124482ed45a73">application_class</a>()</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a7b959a12a5574b263556937f1c94e255">construct_frustum</a>()</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a7b0482e4b79a4c3bf32e1f40ccb48678">create_big_cube</a>(int side_count)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a5ade90e873b7b6a31c148672dd0305cb">delete_entity_by_id</a>(int entity_id)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a69bce73916e1180493ac74030dbb77ba">delete_terrain</a>()</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a0d9b9cbfbe1a2efa52606fcbbdfb40ca">frame</a>(input_class *)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#aca20ad22e0c95f5404e3c47a11317025">generate_terrain</a>()</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a1bbbc70e5a68278f410e9b2b93942230">get_aspect_ratio</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a0e7b21b1421fd52bb3740fb25f26e4a7">get_back_buffer_srv</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#abf98d275e281e99e54a68d3b53ba7b94">get_can_fixed_update</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_direct_3d</b>() (defined in <a class="el" href="classapplication__class.html">application_class</a>)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#ab6487040a8f3f90c62eaaeec09504071">get_entity_manager</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a8a2103b81e5a5f73ebce656b96467ee3">get_fps</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a29f11f9f0ab0f41af7b1b657d9310209">get_frustum</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#aa271ce1d2803a5a1fcd9becad215ecb0">get_frustum_tolerance</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a692f521b7d27a89a95848dd912342c1f">get_hwnd</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a85c04a3f2d050cb750d7986ebc7e76a5">get_light_color</a>(int index)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a54f4915b1878fde4dc60ff26be5712ee">get_light_position</a>(int index)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a9b1ca112e8d8fd01a7061d9a638e9f3e">get_lights</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a6eff226c2686a261a394b1c046096c5e">get_model_cache</a>()</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a32624a7be14230d2120de382c2c2e298">get_object_id</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#ab1924a7177c04594ec5dab7fe4c0104f">get_physics</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a118113b8ab8ad1065b032d57150fa7dd">get_physics_tick_rate</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a25592af930b0ee6c34d667fc0f8d69e1">get_reflection_texture</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a8d993ac51d86d09c2b03b612ed914a74">get_refraction_texture</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#acc0c095b41d72833d974229cc64d0689">get_render_count</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a3ec69cb088888911ab1e32490c39f3e6">get_render_texture</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a69a84a1345d56bb8d81e7d3427ce969e">get_scene_texture</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a468b1ed714bae99f4f2fcf7a93407bfb">get_screen_height</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#ae4bf8de77c3edaac71aaba75193c3be9">get_screen_width</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#afea1cdf2706dc45cdae0396b7948f2b0">get_should_quit</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#ad724a8b8867f487bc602406ae20e1301">get_speed</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#adfd9213758db871e03aada83dee961b3">get_stats</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#ad757f3dc7ad49b74643fca7947889ed6">get_sun_light</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#afe1ff7bf39935cae054c8f3743e923e1">get_terrain_entity_count</a>()</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#aa79efde57fb87b64bf95b47ee87c3bff">get_vsync</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a2f6b5156b585944bb912d93fa1595af2">get_w_folder</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a3c76d728525b1ee4558a41383f9f2217">get_window_size</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a3be4f6532857c72283450ce43907f309">initialize</a>(int screen_width, int screen_height, HWND hwdn, bool is_vulkan)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#aac1577a0fe08e8007980b6b1778da478">is_windowed</a>() const</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#aa583e172e6a2d45cb9b4841634b9eea4">physics_thread_function</a>()</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#aa0a44059eae0a8df0cb65a7962d598ed">set_can_fixed_update</a>(bool can_fixed_update)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a1bdce1b8c5a23cd60dd35c441a670601">set_cel_shading</a>(const bool enable)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>set_direct_3d</b>(d_3d_class *direct_3d) (defined in <a class="el" href="classapplication__class.html">application_class</a>)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#abd47278db9d786b80833c787900c145b">set_frustum</a>(const frustum &amp;frustum)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a2f41c2a8f5f18aca2859b02e804c7a1a">set_frustum_tolerance</a>(const float frustum_tolerance)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a40392869f0ff57982fef8098dd3354fe">set_hwnd</a>(HWND hwnd)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a79b165193754e7361b0a467f5e70c72b">set_light_color</a>(int index, XMVECTOR color)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a1715fe1c06659636399b60e859e6b2ae">set_light_position</a>(int index, XMVECTOR position)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#ae586e8e9431b6d6168c335a9ae0f08ca">set_object_id</a>(int object_id)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a4ead7c7ba402fb9619000d201c0cf95f">set_path</a>(WCHAR *path)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a8b03fc0a380762e268606262914e55a8">set_physics_tick_rate</a>(int physics_tick_rate)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a1f607939202c0cb805df935eb38dabe7">set_render_count</a>(const int render_count)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#ae5ed92985e95d9f34a152cae2d7345d7">set_screen_height</a>(int screen_height)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#aca66fefd8c7c473e2700a69f13a4cb6b">set_screen_width</a>(int screen_width)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a96068cd56a5bb2ed0c02db3b70272be2">set_should_quit</a>(const bool should_quit)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a7b1a11759ecc6b80542c7f4f3cf4e8e9">set_speed</a>(const float speed)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#a642858510be15dc3d2890ccc5f6df31f">set_vsync</a>(bool vsync)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a5dbf967cc3d2a08b07c13b6aa44fafe1">set_w_folder</a>(const std::filesystem::path &amp;w_folder)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#ab0418282e11e00cebb3a63747384a24b">set_window_size</a>(const ImVec2 size)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classapplication__class.html#a7faa4a3a5150086acaec8bc223a4bf7e">set_windowed</a>(bool windowed)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#af2ef20892819f21303002a0f3005e73d">shutdown</a>()</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>textures</b> (defined in <a class="el" href="classapplication__class.html">application_class</a>)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classapplication__class.html#aa453b06f65ab6344907f0c65670de202">update_stats_after_modification</a>()</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~application_class</b>() (defined in <a class="el" href="classapplication__class.html">application_class</a>)</td><td class="entry"><a class="el" href="classapplication__class.html">application_class</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,66 @@
var classapplication__class =
[
[ "application_class", "classapplication__class.html#ab3b678dde613c8568a2124482ed45a73", null ],
[ "add_cube", "classapplication__class.html#aaa09afdc106fb3f82788c42272811657", null ],
[ "add_kobject", "classapplication__class.html#a9a39dfe69bca6fe96a339ab47b2f0539", null ],
[ "construct_frustum", "classapplication__class.html#a7b959a12a5574b263556937f1c94e255", null ],
[ "create_big_cube", "classapplication__class.html#a7b0482e4b79a4c3bf32e1f40ccb48678", null ],
[ "delete_entity_by_id", "classapplication__class.html#a5ade90e873b7b6a31c148672dd0305cb", null ],
[ "delete_terrain", "classapplication__class.html#a69bce73916e1180493ac74030dbb77ba", null ],
[ "frame", "classapplication__class.html#a0d9b9cbfbe1a2efa52606fcbbdfb40ca", null ],
[ "generate_terrain", "classapplication__class.html#aca20ad22e0c95f5404e3c47a11317025", null ],
[ "get_aspect_ratio", "classapplication__class.html#a1bbbc70e5a68278f410e9b2b93942230", null ],
[ "get_back_buffer_srv", "classapplication__class.html#a0e7b21b1421fd52bb3740fb25f26e4a7", null ],
[ "get_can_fixed_update", "classapplication__class.html#abf98d275e281e99e54a68d3b53ba7b94", null ],
[ "get_entity_manager", "classapplication__class.html#ab6487040a8f3f90c62eaaeec09504071", null ],
[ "get_fps", "classapplication__class.html#a8a2103b81e5a5f73ebce656b96467ee3", null ],
[ "get_frustum", "classapplication__class.html#a29f11f9f0ab0f41af7b1b657d9310209", null ],
[ "get_frustum_tolerance", "classapplication__class.html#aa271ce1d2803a5a1fcd9becad215ecb0", null ],
[ "get_hwnd", "classapplication__class.html#a692f521b7d27a89a95848dd912342c1f", null ],
[ "get_light_color", "classapplication__class.html#a85c04a3f2d050cb750d7986ebc7e76a5", null ],
[ "get_light_position", "classapplication__class.html#a54f4915b1878fde4dc60ff26be5712ee", null ],
[ "get_lights", "classapplication__class.html#a9b1ca112e8d8fd01a7061d9a638e9f3e", null ],
[ "get_model_cache", "classapplication__class.html#a6eff226c2686a261a394b1c046096c5e", null ],
[ "get_object_id", "classapplication__class.html#a32624a7be14230d2120de382c2c2e298", null ],
[ "get_physics", "classapplication__class.html#ab1924a7177c04594ec5dab7fe4c0104f", null ],
[ "get_physics_tick_rate", "classapplication__class.html#a118113b8ab8ad1065b032d57150fa7dd", null ],
[ "get_reflection_texture", "classapplication__class.html#a25592af930b0ee6c34d667fc0f8d69e1", null ],
[ "get_refraction_texture", "classapplication__class.html#a8d993ac51d86d09c2b03b612ed914a74", null ],
[ "get_render_count", "classapplication__class.html#acc0c095b41d72833d974229cc64d0689", null ],
[ "get_render_texture", "classapplication__class.html#a3ec69cb088888911ab1e32490c39f3e6", null ],
[ "get_scene_texture", "classapplication__class.html#a69a84a1345d56bb8d81e7d3427ce969e", null ],
[ "get_screen_height", "classapplication__class.html#a468b1ed714bae99f4f2fcf7a93407bfb", null ],
[ "get_screen_width", "classapplication__class.html#ae4bf8de77c3edaac71aaba75193c3be9", null ],
[ "get_should_quit", "classapplication__class.html#afea1cdf2706dc45cdae0396b7948f2b0", null ],
[ "get_speed", "classapplication__class.html#ad724a8b8867f487bc602406ae20e1301", null ],
[ "get_stats", "classapplication__class.html#adfd9213758db871e03aada83dee961b3", null ],
[ "get_sun_light", "classapplication__class.html#ad757f3dc7ad49b74643fca7947889ed6", null ],
[ "get_terrain_entity_count", "classapplication__class.html#afe1ff7bf39935cae054c8f3743e923e1", null ],
[ "get_vsync", "classapplication__class.html#aa79efde57fb87b64bf95b47ee87c3bff", null ],
[ "get_w_folder", "classapplication__class.html#a2f6b5156b585944bb912d93fa1595af2", null ],
[ "get_window_size", "classapplication__class.html#a3c76d728525b1ee4558a41383f9f2217", null ],
[ "initialize", "classapplication__class.html#a3be4f6532857c72283450ce43907f309", null ],
[ "is_windowed", "classapplication__class.html#aac1577a0fe08e8007980b6b1778da478", null ],
[ "physics_thread_function", "classapplication__class.html#aa583e172e6a2d45cb9b4841634b9eea4", null ],
[ "set_can_fixed_update", "classapplication__class.html#aa0a44059eae0a8df0cb65a7962d598ed", null ],
[ "set_cel_shading", "classapplication__class.html#a1bdce1b8c5a23cd60dd35c441a670601", null ],
[ "set_frustum", "classapplication__class.html#abd47278db9d786b80833c787900c145b", null ],
[ "set_frustum_tolerance", "classapplication__class.html#a2f41c2a8f5f18aca2859b02e804c7a1a", null ],
[ "set_hwnd", "classapplication__class.html#a40392869f0ff57982fef8098dd3354fe", null ],
[ "set_light_color", "classapplication__class.html#a79b165193754e7361b0a467f5e70c72b", null ],
[ "set_light_position", "classapplication__class.html#a1715fe1c06659636399b60e859e6b2ae", null ],
[ "set_object_id", "classapplication__class.html#ae586e8e9431b6d6168c335a9ae0f08ca", null ],
[ "set_path", "classapplication__class.html#a4ead7c7ba402fb9619000d201c0cf95f", null ],
[ "set_physics_tick_rate", "classapplication__class.html#a8b03fc0a380762e268606262914e55a8", null ],
[ "set_render_count", "classapplication__class.html#a1f607939202c0cb805df935eb38dabe7", null ],
[ "set_screen_height", "classapplication__class.html#ae5ed92985e95d9f34a152cae2d7345d7", null ],
[ "set_screen_width", "classapplication__class.html#aca66fefd8c7c473e2700a69f13a4cb6b", null ],
[ "set_should_quit", "classapplication__class.html#a96068cd56a5bb2ed0c02db3b70272be2", null ],
[ "set_speed", "classapplication__class.html#a7b1a11759ecc6b80542c7f4f3cf4e8e9", null ],
[ "set_vsync", "classapplication__class.html#a642858510be15dc3d2890ccc5f6df31f", null ],
[ "set_w_folder", "classapplication__class.html#a5dbf967cc3d2a08b07c13b6aa44fafe1", null ],
[ "set_window_size", "classapplication__class.html#ab0418282e11e00cebb3a63747384a24b", null ],
[ "set_windowed", "classapplication__class.html#a7faa4a3a5150086acaec8bc223a4bf7e", null ],
[ "shutdown", "classapplication__class.html#af2ef20892819f21303002a0f3005e73d", null ],
[ "update_stats_after_modification", "classapplication__class.html#aa453b06f65ab6344907f0c65670de202", null ]
];

View File

@@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classbitmap__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">bitmap_class Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classbitmap__class.html">bitmap_class</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>bitmap_class</b>() (defined in <a class="el" href="classbitmap__class.html">bitmap_class</a>)</td><td class="entry"><a class="el" href="classbitmap__class.html">bitmap_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>bitmap_class</b>(const bitmap_class &amp;) (defined in <a class="el" href="classbitmap__class.html">bitmap_class</a>)</td><td class="entry"><a class="el" href="classbitmap__class.html">bitmap_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_index_count</b>() (defined in <a class="el" href="classbitmap__class.html">bitmap_class</a>)</td><td class="entry"><a class="el" href="classbitmap__class.html">bitmap_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_texture</b>() (defined in <a class="el" href="classbitmap__class.html">bitmap_class</a>)</td><td class="entry"><a class="el" href="classbitmap__class.html">bitmap_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>initialize</b>(ID3D11Device *, ID3D11DeviceContext *, int, int, char *, int, int) (defined in <a class="el" href="classbitmap__class.html">bitmap_class</a>)</td><td class="entry"><a class="el" href="classbitmap__class.html">bitmap_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>render</b>(ID3D11DeviceContext *) (defined in <a class="el" href="classbitmap__class.html">bitmap_class</a>)</td><td class="entry"><a class="el" href="classbitmap__class.html">bitmap_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_render_location</b>(int, int) (defined in <a class="el" href="classbitmap__class.html">bitmap_class</a>)</td><td class="entry"><a class="el" href="classbitmap__class.html">bitmap_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>shutdown</b>() (defined in <a class="el" href="classbitmap__class.html">bitmap_class</a>)</td><td class="entry"><a class="el" href="classbitmap__class.html">bitmap_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~bitmap_class</b>() (defined in <a class="el" href="classbitmap__class.html">bitmap_class</a>)</td><td class="entry"><a class="el" href="classbitmap__class.html">bitmap_class</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,427 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: bitmap_class Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classbitmap__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classbitmap__class-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">bitmap_class Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8796993d083f190288fd05e2846aec42" id="r_a8796993d083f190288fd05e2846aec42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8796993d083f190288fd05e2846aec42">bitmap_class</a> (const <a class="el" href="classbitmap__class.html">bitmap_class</a> &amp;)</td></tr>
<tr class="separator:a8796993d083f190288fd05e2846aec42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a949df6bc6e76c4b0eb69077d1ae98030" id="r_a949df6bc6e76c4b0eb69077d1ae98030"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a949df6bc6e76c4b0eb69077d1ae98030">initialize</a> (ID3D11Device *, ID3D11DeviceContext *, int, int, char *, int, int)</td></tr>
<tr class="separator:a949df6bc6e76c4b0eb69077d1ae98030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695b4543a2dd5550a209650f2e12b33f" id="r_a695b4543a2dd5550a209650f2e12b33f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a695b4543a2dd5550a209650f2e12b33f">shutdown</a> ()</td></tr>
<tr class="separator:a695b4543a2dd5550a209650f2e12b33f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64532d58343b738d076f85439e25e151" id="r_a64532d58343b738d076f85439e25e151"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a64532d58343b738d076f85439e25e151">render</a> (ID3D11DeviceContext *)</td></tr>
<tr class="separator:a64532d58343b738d076f85439e25e151"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9028a2668a9af6de85dda3c9453f664f" id="r_a9028a2668a9af6de85dda3c9453f664f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9028a2668a9af6de85dda3c9453f664f">get_index_count</a> ()</td></tr>
<tr class="separator:a9028a2668a9af6de85dda3c9453f664f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af70754920b1d80e970fc582d3b43ef13" id="r_af70754920b1d80e970fc582d3b43ef13"><td class="memItemLeft" align="right" valign="top">ID3D11ShaderResourceView *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af70754920b1d80e970fc582d3b43ef13">get_texture</a> ()</td></tr>
<tr class="separator:af70754920b1d80e970fc582d3b43ef13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa30ea105bd4c6267021efd39d8b3a9ae" id="r_aa30ea105bd4c6267021efd39d8b3a9ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa30ea105bd4c6267021efd39d8b3a9ae">set_render_location</a> (int, int)</td></tr>
<tr class="separator:aa30ea105bd4c6267021efd39d8b3a9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="bitmap__class_8h_source.html#l00021">21</a> of file <a class="el" href="bitmap__class_8h_source.html">bitmap_class.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a01f46958b20d157f9935da16d9eba2a6" name="a01f46958b20d157f9935da16d9eba2a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01f46958b20d157f9935da16d9eba2a6">&#9670;&#160;</a></span>bitmap_class() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bitmap_class::bitmap_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="bitmap__class_8cpp_source.html#l00003">3</a> of file <a class="el" href="bitmap__class_8cpp_source.html">bitmap_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 4</span>{</div>
<div class="line"><span class="lineno"> 5</span> vertex_buffer_ = 0;</div>
<div class="line"><span class="lineno"> 6</span> index_buffer_ = 0;</div>
<div class="line"><span class="lineno"> 7</span> texture_ = 0;</div>
<div class="line"><span class="lineno"> 8</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8796993d083f190288fd05e2846aec42" name="a8796993d083f190288fd05e2846aec42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8796993d083f190288fd05e2846aec42">&#9670;&#160;</a></span>bitmap_class() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bitmap_class::bitmap_class </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classbitmap__class.html">bitmap_class</a> &amp;</td> <td class="paramname"><span class="paramname"><em>other</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="bitmap__class_8cpp_source.html#l00011">11</a> of file <a class="el" href="bitmap__class_8cpp_source.html">bitmap_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 12</span>{</div>
<div class="line"><span class="lineno"> 13</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="aadd231c4dbd0282a2b8d6d45330f7f41" name="aadd231c4dbd0282a2b8d6d45330f7f41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadd231c4dbd0282a2b8d6d45330f7f41">&#9670;&#160;</a></span>~bitmap_class()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bitmap_class::~bitmap_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="bitmap__class_8cpp_source.html#l00016">16</a> of file <a class="el" href="bitmap__class_8cpp_source.html">bitmap_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 17</span>{</div>
<div class="line"><span class="lineno"> 18</span>}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a9028a2668a9af6de85dda3c9453f664f" name="a9028a2668a9af6de85dda3c9453f664f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9028a2668a9af6de85dda3c9453f664f">&#9670;&#160;</a></span>get_index_count()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int bitmap_class::get_index_count </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="bitmap__class_8cpp_source.html#l00086">86</a> of file <a class="el" href="bitmap__class_8cpp_source.html">bitmap_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 87</span>{</div>
<div class="line"><span class="lineno"> 88</span> <span class="keywordflow">return</span> index_count_;</div>
<div class="line"><span class="lineno"> 89</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="af70754920b1d80e970fc582d3b43ef13" name="af70754920b1d80e970fc582d3b43ef13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af70754920b1d80e970fc582d3b43ef13">&#9670;&#160;</a></span>get_texture()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ID3D11ShaderResourceView * bitmap_class::get_texture </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="bitmap__class_8cpp_source.html#l00091">91</a> of file <a class="el" href="bitmap__class_8cpp_source.html">bitmap_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 92</span>{</div>
<div class="line"><span class="lineno"> 93</span> <span class="keywordflow">return</span> texture_-&gt;GetTexture();</div>
<div class="line"><span class="lineno"> 94</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a949df6bc6e76c4b0eb69077d1ae98030" name="a949df6bc6e76c4b0eb69077d1ae98030"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a949df6bc6e76c4b0eb69077d1ae98030">&#9670;&#160;</a></span>initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool bitmap_class::initialize </td>
<td>(</td>
<td class="paramtype">ID3D11Device *</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ID3D11DeviceContext *</td> <td class="paramname"><span class="paramname"><em>deviceContext</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>screenWidth</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>screenHeight</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *</td> <td class="paramname"><span class="paramname"><em>textureFilename</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>renderX</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>renderY</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="bitmap__class_8cpp_source.html#l00021">21</a> of file <a class="el" href="bitmap__class_8cpp_source.html">bitmap_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 22</span>{</div>
<div class="line"><span class="lineno"> 23</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing bitmap class&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><span class="lineno"> 24</span> </div>
<div class="line"><span class="lineno"> 25</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><span class="lineno"> 26</span> </div>
<div class="line"><span class="lineno"> 27</span> <span class="comment">// Store the screen size.</span></div>
<div class="line"><span class="lineno"> 28</span> screen_width_ = screenWidth;</div>
<div class="line"><span class="lineno"> 29</span> screen_height_ = screenHeight;</div>
<div class="line"><span class="lineno"> 30</span> </div>
<div class="line"><span class="lineno"> 31</span> <span class="comment">// Store where the bitmap should be rendered to.</span></div>
<div class="line"><span class="lineno"> 32</span> render_x_ = renderX;</div>
<div class="line"><span class="lineno"> 33</span> render_y_ = renderY;</div>
<div class="line"><span class="lineno"> 34</span> </div>
<div class="line"><span class="lineno"> 35</span> <span class="comment">// initialize the vertex and index buffer that hold the geometry for the bitmap quad.</span></div>
<div class="line"><span class="lineno"> 36</span> result = initialize_buffers(device);</div>
<div class="line"><span class="lineno"> 37</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 38</span> {</div>
<div class="line"><span class="lineno"> 39</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to initialize buffers&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 40</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 41</span> }</div>
<div class="line"><span class="lineno"> 42</span> </div>
<div class="line"><span class="lineno"> 43</span> <span class="comment">// Load the texture for this bitmap.</span></div>
<div class="line"><span class="lineno"> 44</span> result = load_texture(device, deviceContext, textureFilename);</div>
<div class="line"><span class="lineno"> 45</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 46</span> {</div>
<div class="line"><span class="lineno"> 47</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to load texture&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 48</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 49</span> }</div>
<div class="line"><span class="lineno"> 50</span> </div>
<div class="line"><span class="lineno"> 51</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Bitmap class initialized&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><span class="lineno"> 52</span> </div>
<div class="line"><span class="lineno"> 53</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 54</span>}</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a64532d58343b738d076f85439e25e151" name="a64532d58343b738d076f85439e25e151"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64532d58343b738d076f85439e25e151">&#9670;&#160;</a></span>render()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool bitmap_class::render </td>
<td>(</td>
<td class="paramtype">ID3D11DeviceContext *</td> <td class="paramname"><span class="paramname"><em>deviceContext</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="bitmap__class_8cpp_source.html#l00067">67</a> of file <a class="el" href="bitmap__class_8cpp_source.html">bitmap_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 68</span>{</div>
<div class="line"><span class="lineno"> 69</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><span class="lineno"> 70</span> </div>
<div class="line"><span class="lineno"> 71</span> </div>
<div class="line"><span class="lineno"> 72</span> <span class="comment">// Update the buffers if the position of the bitmap has changed from its original position.</span></div>
<div class="line"><span class="lineno"> 73</span> result = update_buffers(deviceContext);</div>
<div class="line"><span class="lineno"> 74</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 75</span> {</div>
<div class="line"><span class="lineno"> 76</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to update buffers&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 77</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 78</span> }</div>
<div class="line"><span class="lineno"> 79</span> </div>
<div class="line"><span class="lineno"> 80</span> <span class="comment">// Put the vertex and index buffers on the graphics pipeline to prepare them for drawing.</span></div>
<div class="line"><span class="lineno"> 81</span> render_buffers(deviceContext);</div>
<div class="line"><span class="lineno"> 82</span> </div>
<div class="line"><span class="lineno"> 83</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 84</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="aa30ea105bd4c6267021efd39d8b3a9ae" name="aa30ea105bd4c6267021efd39d8b3a9ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa30ea105bd4c6267021efd39d8b3a9ae">&#9670;&#160;</a></span>set_render_location()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void bitmap_class::set_render_location </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>x</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>y</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="bitmap__class_8cpp_source.html#l00356">356</a> of file <a class="el" href="bitmap__class_8cpp_source.html">bitmap_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 357</span>{</div>
<div class="line"><span class="lineno"> 358</span> render_x_ = x;</div>
<div class="line"><span class="lineno"> 359</span> render_y_ = y;</div>
<div class="line"><span class="lineno"> 360</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 361</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a695b4543a2dd5550a209650f2e12b33f" name="a695b4543a2dd5550a209650f2e12b33f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a695b4543a2dd5550a209650f2e12b33f">&#9670;&#160;</a></span>shutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void bitmap_class::shutdown </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="bitmap__class_8cpp_source.html#l00056">56</a> of file <a class="el" href="bitmap__class_8cpp_source.html">bitmap_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 57</span>{</div>
<div class="line"><span class="lineno"> 58</span> <span class="comment">// Release the bitmap texture.</span></div>
<div class="line"><span class="lineno"> 59</span> release_texture();</div>
<div class="line"><span class="lineno"> 60</span> </div>
<div class="line"><span class="lineno"> 61</span> <span class="comment">// Release the vertex and index buffers.</span></div>
<div class="line"><span class="lineno"> 62</span> shutdown_buffers();</div>
<div class="line"><span class="lineno"> 63</span> </div>
<div class="line"><span class="lineno"> 64</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 65</span>}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>enginecustom/src/inc/system/<a class="el" href="bitmap__class_8h_source.html">bitmap_class.h</a></li>
<li>enginecustom/src/src/system/<a class="el" href="bitmap__class_8cpp_source.html">bitmap_class.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classbitmap__class.html">bitmap_class</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,125 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classcamera__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">camera_class Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classcamera__class.html">camera_class</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classcamera__class.html#ac18562f9e46ca033440ba9df2d180e20">camera_class</a>()</td><td class="entry"><a class="el" href="classcamera__class.html">camera_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>camera_class</b>(const camera_class &amp;) (defined in <a class="el" href="classcamera__class.html">camera_class</a>)</td><td class="entry"><a class="el" href="classcamera__class.html">camera_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classcamera__class.html#af416c69abe70579751cd404cba8bf388">get_position</a>()</td><td class="entry"><a class="el" href="classcamera__class.html">camera_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classcamera__class.html#ac4d85cc166aec75e54528dc9dee8a075">get_reflection_view_matrix</a>(XMMATRIX &amp;) const</td><td class="entry"><a class="el" href="classcamera__class.html">camera_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classcamera__class.html#aa8073c109a536d48478257a3e1e889cd">get_rotation</a>()</td><td class="entry"><a class="el" href="classcamera__class.html">camera_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classcamera__class.html#ac17736821f337ce7fd52b9857095de68">get_view_matrix</a>(XMMATRIX &amp;view_matrix) const</td><td class="entry"><a class="el" href="classcamera__class.html">camera_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classcamera__class.html#a0820187f209f9628e6b2a8af34d71057">render</a>()</td><td class="entry"><a class="el" href="classcamera__class.html">camera_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classcamera__class.html#a58b36223405de07000d108129c998075">render_reflection</a>(float)</td><td class="entry"><a class="el" href="classcamera__class.html">camera_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classcamera__class.html#a4b9ac7f98297d2007abd1ed3d326d381">set_position</a>(float, float, float)</td><td class="entry"><a class="el" href="classcamera__class.html">camera_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classcamera__class.html#a410c4bbfd5ba10d0785f5ac9178f9b3f">set_rotation</a>(float, float, float)</td><td class="entry"><a class="el" href="classcamera__class.html">camera_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~camera_class</b>() (defined in <a class="el" href="classcamera__class.html">camera_class</a>)</td><td class="entry"><a class="el" href="classcamera__class.html">camera_class</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,574 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: camera_class Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classcamera__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcamera__class-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">camera_class Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac18562f9e46ca033440ba9df2d180e20" id="r_ac18562f9e46ca033440ba9df2d180e20"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac18562f9e46ca033440ba9df2d180e20">camera_class</a> ()</td></tr>
<tr class="memdesc:ac18562f9e46ca033440ba9df2d180e20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor for <a class="el" href="classcamera__class.html">camera_class</a>. Initializes the camera position and rotation to zero. <br /></td></tr>
<tr class="separator:ac18562f9e46ca033440ba9df2d180e20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2cfbf1c511ff8dbfdf413be52076621" id="r_ad2cfbf1c511ff8dbfdf413be52076621"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad2cfbf1c511ff8dbfdf413be52076621">camera_class</a> (const <a class="el" href="classcamera__class.html">camera_class</a> &amp;)</td></tr>
<tr class="separator:ad2cfbf1c511ff8dbfdf413be52076621"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b9ac7f98297d2007abd1ed3d326d381" id="r_a4b9ac7f98297d2007abd1ed3d326d381"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4b9ac7f98297d2007abd1ed3d326d381">set_position</a> (float, float, float)</td></tr>
<tr class="memdesc:a4b9ac7f98297d2007abd1ed3d326d381"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the position of the camera in 3D space. <br /></td></tr>
<tr class="separator:a4b9ac7f98297d2007abd1ed3d326d381"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a410c4bbfd5ba10d0785f5ac9178f9b3f" id="r_a410c4bbfd5ba10d0785f5ac9178f9b3f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a410c4bbfd5ba10d0785f5ac9178f9b3f">set_rotation</a> (float, float, float)</td></tr>
<tr class="memdesc:a410c4bbfd5ba10d0785f5ac9178f9b3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the rotation of the camera in 3D space. <br /></td></tr>
<tr class="separator:a410c4bbfd5ba10d0785f5ac9178f9b3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af416c69abe70579751cd404cba8bf388" id="r_af416c69abe70579751cd404cba8bf388"><td class="memItemLeft" align="right" valign="top">XMFLOAT3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af416c69abe70579751cd404cba8bf388">get_position</a> ()</td></tr>
<tr class="memdesc:af416c69abe70579751cd404cba8bf388"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current position of the camera. <br /></td></tr>
<tr class="separator:af416c69abe70579751cd404cba8bf388"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8073c109a536d48478257a3e1e889cd" id="r_aa8073c109a536d48478257a3e1e889cd"><td class="memItemLeft" align="right" valign="top">XMFLOAT3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8073c109a536d48478257a3e1e889cd">get_rotation</a> ()</td></tr>
<tr class="memdesc:aa8073c109a536d48478257a3e1e889cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current rotation of the camera. <br /></td></tr>
<tr class="separator:aa8073c109a536d48478257a3e1e889cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0820187f209f9628e6b2a8af34d71057" id="r_a0820187f209f9628e6b2a8af34d71057"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0820187f209f9628e6b2a8af34d71057">render</a> ()</td></tr>
<tr class="memdesc:a0820187f209f9628e6b2a8af34d71057"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the camera's view matrix based on its position and rotation. This method recalculates the view matrix to reflect the current camera state. <br /></td></tr>
<tr class="separator:a0820187f209f9628e6b2a8af34d71057"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac17736821f337ce7fd52b9857095de68" id="r_ac17736821f337ce7fd52b9857095de68"><td class="memItemLeft" align="right" valign="top">XMMATRIX&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac17736821f337ce7fd52b9857095de68">get_view_matrix</a> (XMMATRIX &amp;view_matrix) const</td></tr>
<tr class="memdesc:ac17736821f337ce7fd52b9857095de68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the current view matrix of the camera. <br /></td></tr>
<tr class="separator:ac17736821f337ce7fd52b9857095de68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58b36223405de07000d108129c998075" id="r_a58b36223405de07000d108129c998075"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a58b36223405de07000d108129c998075">render_reflection</a> (float)</td></tr>
<tr class="memdesc:a58b36223405de07000d108129c998075"><td class="mdescLeft">&#160;</td><td class="mdescRight">Renders the reflection of the scene from the camera's perspective. <br /></td></tr>
<tr class="separator:a58b36223405de07000d108129c998075"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4d85cc166aec75e54528dc9dee8a075" id="r_ac4d85cc166aec75e54528dc9dee8a075"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac4d85cc166aec75e54528dc9dee8a075">get_reflection_view_matrix</a> (XMMATRIX &amp;) const</td></tr>
<tr class="memdesc:ac4d85cc166aec75e54528dc9dee8a075"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the reflection view matrix of the camera. <br /></td></tr>
<tr class="separator:ac4d85cc166aec75e54528dc9dee8a075"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="camera__class_8h_source.html#l00018">18</a> of file <a class="el" href="camera__class_8h_source.html">camera_class.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac18562f9e46ca033440ba9df2d180e20" name="ac18562f9e46ca033440ba9df2d180e20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac18562f9e46ca033440ba9df2d180e20">&#9670;&#160;</a></span>camera_class() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">camera_class::camera_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Default constructor for <a class="el" href="classcamera__class.html">camera_class</a>. Initializes the camera position and rotation to zero. </p>
<p class="definition">Definition at line <a class="el" href="camera__class_8cpp_source.html#l00006">6</a> of file <a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 7</span>{</div>
<div class="line"><span class="lineno"> 8</span> position_x_ = 0.0f;</div>
<div class="line"><span class="lineno"> 9</span> position_y_ = 0.0f;</div>
<div class="line"><span class="lineno"> 10</span> position_z_ = 0.0f;</div>
<div class="line"><span class="lineno"> 11</span> </div>
<div class="line"><span class="lineno"> 12</span> rotation_x_ = 0.0f;</div>
<div class="line"><span class="lineno"> 13</span> rotation_y_ = 0.0f;</div>
<div class="line"><span class="lineno"> 14</span> rotation_z_ = 0.0f;</div>
<div class="line"><span class="lineno"> 15</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad2cfbf1c511ff8dbfdf413be52076621" name="ad2cfbf1c511ff8dbfdf413be52076621"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2cfbf1c511ff8dbfdf413be52076621">&#9670;&#160;</a></span>camera_class() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">camera_class::camera_class </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcamera__class.html">camera_class</a> &amp;</td> <td class="paramname"><span class="paramname"><em>other</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="camera__class_8cpp_source.html#l00018">18</a> of file <a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 19</span>{</div>
<div class="line"><span class="lineno"> 20</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="abc411f8ee950139a041d88192f9711ed" name="abc411f8ee950139a041d88192f9711ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc411f8ee950139a041d88192f9711ed">&#9670;&#160;</a></span>~camera_class()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">camera_class::~camera_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="camera__class_8cpp_source.html#l00023">23</a> of file <a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 24</span>{</div>
<div class="line"><span class="lineno"> 25</span>}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="af416c69abe70579751cd404cba8bf388" name="af416c69abe70579751cd404cba8bf388"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af416c69abe70579751cd404cba8bf388">&#9670;&#160;</a></span>get_position()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XMFLOAT3 camera_class::get_position </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the current position of the camera. </p>
<dl class="section return"><dt>Returns</dt><dd>A 3D vector representing the camera's position. </dd></dl>
<p class="definition">Definition at line <a class="el" href="camera__class_8cpp_source.html#l00044">44</a> of file <a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 45</span>{</div>
<div class="line"><span class="lineno"> 46</span> <span class="keywordflow">return</span> XMFLOAT3(position_x_, position_y_, position_z_);</div>
<div class="line"><span class="lineno"> 47</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac4d85cc166aec75e54528dc9dee8a075" name="ac4d85cc166aec75e54528dc9dee8a075"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4d85cc166aec75e54528dc9dee8a075">&#9670;&#160;</a></span>get_reflection_view_matrix()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void camera_class::get_reflection_view_matrix </td>
<td>(</td>
<td class="paramtype">XMMATRIX &amp;</td> <td class="paramname"><span class="paramname"><em>reflectionViewMatrix</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the reflection view matrix of the camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reflection_view_matrix</td><td>The matrix to store the reflection view matrix. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="camera__class_8cpp_source.html#l00167">167</a> of file <a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 168</span>{</div>
<div class="line"><span class="lineno"> 169</span> reflectionViewMatrix = reflection_view_matrix_;</div>
<div class="line"><span class="lineno"> 170</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 171</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="aa8073c109a536d48478257a3e1e889cd" name="aa8073c109a536d48478257a3e1e889cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8073c109a536d48478257a3e1e889cd">&#9670;&#160;</a></span>get_rotation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XMFLOAT3 camera_class::get_rotation </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the current rotation of the camera. </p>
<dl class="section return"><dt>Returns</dt><dd>A 3D vector representing the camera's rotation in degrees. </dd></dl>
<p class="definition">Definition at line <a class="el" href="camera__class_8cpp_source.html#l00050">50</a> of file <a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 51</span>{</div>
<div class="line"><span class="lineno"> 52</span> <span class="keywordflow">return</span> XMFLOAT3(rotation_x_, rotation_y_, rotation_z_);</div>
<div class="line"><span class="lineno"> 53</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac17736821f337ce7fd52b9857095de68" name="ac17736821f337ce7fd52b9857095de68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac17736821f337ce7fd52b9857095de68">&#9670;&#160;</a></span>get_view_matrix()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XMMATRIX camera_class::get_view_matrix </td>
<td>(</td>
<td class="paramtype">XMMATRIX &amp;</td> <td class="paramname"><span class="paramname"><em>view_matrix</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the current view matrix of the camera. </p>
<dl class="section return"><dt>Returns</dt><dd>The view matrix representing the camera's orientation and position. </dd></dl>
<p class="definition">Definition at line <a class="el" href="camera__class_8cpp_source.html#l00108">108</a> of file <a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 109</span>{</div>
<div class="line"><span class="lineno"> 110</span> view_matrix = view_matrix_;</div>
<div class="line"><span class="lineno"> 111</span> <span class="keywordflow">return</span> view_matrix;</div>
<div class="line"><span class="lineno"> 112</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a0820187f209f9628e6b2a8af34d71057" name="a0820187f209f9628e6b2a8af34d71057"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0820187f209f9628e6b2a8af34d71057">&#9670;&#160;</a></span>render()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void camera_class::render </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Updates the camera's view matrix based on its position and rotation. This method recalculates the view matrix to reflect the current camera state. </p>
<p class="definition">Definition at line <a class="el" href="camera__class_8cpp_source.html#l00055">55</a> of file <a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 56</span>{</div>
<div class="line"><span class="lineno"> 57</span> XMFLOAT3 up, position, lookAt;</div>
<div class="line"><span class="lineno"> 58</span> XMVECTOR upVector, positionVector, lookAtVector;</div>
<div class="line"><span class="lineno"> 59</span> <span class="keywordtype">float</span> yaw, pitch, roll;</div>
<div class="line"><span class="lineno"> 60</span> XMMATRIX rotationMatrix;</div>
<div class="line"><span class="lineno"> 61</span> </div>
<div class="line"><span class="lineno"> 62</span> </div>
<div class="line"><span class="lineno"> 63</span> <span class="comment">// Setup the vector that points upwards.</span></div>
<div class="line"><span class="lineno"> 64</span> up.x = 0.0f;</div>
<div class="line"><span class="lineno"> 65</span> up.y = 1.0f;</div>
<div class="line"><span class="lineno"> 66</span> up.z = 0.0f;</div>
<div class="line"><span class="lineno"> 67</span> </div>
<div class="line"><span class="lineno"> 68</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><span class="lineno"> 69</span> upVector = XMLoadFloat3(&amp;up);</div>
<div class="line"><span class="lineno"> 70</span> </div>
<div class="line"><span class="lineno"> 71</span> <span class="comment">// Setup the position of the camera in the world.</span></div>
<div class="line"><span class="lineno"> 72</span> position.x = position_x_;</div>
<div class="line"><span class="lineno"> 73</span> position.y = position_y_;</div>
<div class="line"><span class="lineno"> 74</span> position.z = position_z_;</div>
<div class="line"><span class="lineno"> 75</span> </div>
<div class="line"><span class="lineno"> 76</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><span class="lineno"> 77</span> positionVector = XMLoadFloat3(&amp;position);</div>
<div class="line"><span class="lineno"> 78</span> </div>
<div class="line"><span class="lineno"> 79</span> <span class="comment">// Setup where the camera is looking by default.</span></div>
<div class="line"><span class="lineno"> 80</span> lookAt.x = 0.0f;</div>
<div class="line"><span class="lineno"> 81</span> lookAt.y = 0.0f;</div>
<div class="line"><span class="lineno"> 82</span> lookAt.z = 1.0f;</div>
<div class="line"><span class="lineno"> 83</span> </div>
<div class="line"><span class="lineno"> 84</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><span class="lineno"> 85</span> lookAtVector = XMLoadFloat3(&amp;lookAt);</div>
<div class="line"><span class="lineno"> 86</span> </div>
<div class="line"><span class="lineno"> 87</span> <span class="comment">// Set the yaw (Y axis), pitch (X axis), and roll (Z axis) rotations in radians.</span></div>
<div class="line"><span class="lineno"> 88</span> pitch = rotation_x_ * 0.0174532925f;</div>
<div class="line"><span class="lineno"> 89</span> yaw = rotation_y_ * 0.0174532925f;</div>
<div class="line"><span class="lineno"> 90</span> roll = rotation_z_ * 0.0174532925f;</div>
<div class="line"><span class="lineno"> 91</span> </div>
<div class="line"><span class="lineno"> 92</span> <span class="comment">// Create the rotation matrix from the yaw, pitch, and roll values.</span></div>
<div class="line"><span class="lineno"> 93</span> rotationMatrix = XMMatrixRotationRollPitchYaw(pitch, yaw, roll);</div>
<div class="line"><span class="lineno"> 94</span> </div>
<div class="line"><span class="lineno"> 95</span> <span class="comment">// Transform the lookAt and up vector by the rotation matrix so the view is correctly rotated at the origin.</span></div>
<div class="line"><span class="lineno"> 96</span> lookAtVector = XMVector3TransformCoord(lookAtVector, rotationMatrix);</div>
<div class="line"><span class="lineno"> 97</span> upVector = XMVector3TransformCoord(upVector, rotationMatrix);</div>
<div class="line"><span class="lineno"> 98</span> </div>
<div class="line"><span class="lineno"> 99</span> <span class="comment">// Translate the rotated camera position to the location of the viewer.</span></div>
<div class="line"><span class="lineno"> 100</span> lookAtVector = XMVectorAdd(positionVector, lookAtVector);</div>
<div class="line"><span class="lineno"> 101</span> </div>
<div class="line"><span class="lineno"> 102</span> <span class="comment">// Finally create the view matrix from the three updated vectors.</span></div>
<div class="line"><span class="lineno"> 103</span> view_matrix_ = XMMatrixLookAtLH(positionVector, lookAtVector, upVector);</div>
<div class="line"><span class="lineno"> 104</span> </div>
<div class="line"><span class="lineno"> 105</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 106</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a58b36223405de07000d108129c998075" name="a58b36223405de07000d108129c998075"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58b36223405de07000d108129c998075">&#9670;&#160;</a></span>render_reflection()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void camera_class::render_reflection </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>height</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Renders the reflection of the scene from the camera's perspective. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reflection_plane_y</td><td>The y-coordinate of the reflection plane. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="camera__class_8cpp_source.html#l00114">114</a> of file <a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 115</span>{</div>
<div class="line"><span class="lineno"> 116</span> XMFLOAT3 up, position, lookAt;</div>
<div class="line"><span class="lineno"> 117</span> XMVECTOR upVector, positionVector, lookAtVector;</div>
<div class="line"><span class="lineno"> 118</span> <span class="keywordtype">float</span> yaw, pitch, roll;</div>
<div class="line"><span class="lineno"> 119</span> XMMATRIX rotationMatrix;</div>
<div class="line"><span class="lineno"> 120</span> </div>
<div class="line"><span class="lineno"> 121</span> </div>
<div class="line"><span class="lineno"> 122</span> <span class="comment">// Setup the vector that points upwards.</span></div>
<div class="line"><span class="lineno"> 123</span> up.x = 0.0f;</div>
<div class="line"><span class="lineno"> 124</span> up.y = 1.0f;</div>
<div class="line"><span class="lineno"> 125</span> up.z = 0.0f;</div>
<div class="line"><span class="lineno"> 126</span> </div>
<div class="line"><span class="lineno"> 127</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><span class="lineno"> 128</span> upVector = XMLoadFloat3(&amp;up);</div>
<div class="line"><span class="lineno"> 129</span> </div>
<div class="line"><span class="lineno"> 130</span> <span class="comment">// Setup the position of the camera in the world.</span></div>
<div class="line"><span class="lineno"> 131</span> position.x = position_x_;</div>
<div class="line"><span class="lineno"> 132</span> position.y = -position_y_ + (height * 2.0f);</div>
<div class="line"><span class="lineno"> 133</span> position.z = position_z_;</div>
<div class="line"><span class="lineno"> 134</span> </div>
<div class="line"><span class="lineno"> 135</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><span class="lineno"> 136</span> positionVector = XMLoadFloat3(&amp;position);</div>
<div class="line"><span class="lineno"> 137</span> </div>
<div class="line"><span class="lineno"> 138</span> <span class="comment">// Setup where the camera is looking by default.</span></div>
<div class="line"><span class="lineno"> 139</span> lookAt.x = 0.0f;</div>
<div class="line"><span class="lineno"> 140</span> lookAt.y = 0.0f;</div>
<div class="line"><span class="lineno"> 141</span> lookAt.z = 1.0f;</div>
<div class="line"><span class="lineno"> 142</span> </div>
<div class="line"><span class="lineno"> 143</span> <span class="comment">// Load it into a XMVECTOR structure.</span></div>
<div class="line"><span class="lineno"> 144</span> lookAtVector = XMLoadFloat3(&amp;lookAt);</div>
<div class="line"><span class="lineno"> 145</span> </div>
<div class="line"><span class="lineno"> 146</span> <span class="comment">// Set the yaw (Y axis), pitch (X axis), and roll (Z axis) rotations in radians.</span></div>
<div class="line"><span class="lineno"> 147</span> pitch = (-1.0f * rotation_x_) * 0.0174532925f; <span class="comment">// Invert for reflection</span></div>
<div class="line"><span class="lineno"> 148</span> yaw = rotation_y_ * 0.0174532925f;</div>
<div class="line"><span class="lineno"> 149</span> roll = rotation_z_ * 0.0174532925f;</div>
<div class="line"><span class="lineno"> 150</span> </div>
<div class="line"><span class="lineno"> 151</span> <span class="comment">// Create the rotation matrix from the yaw, pitch, and roll values.</span></div>
<div class="line"><span class="lineno"> 152</span> rotationMatrix = XMMatrixRotationRollPitchYaw(pitch, yaw, roll);</div>
<div class="line"><span class="lineno"> 153</span> </div>
<div class="line"><span class="lineno"> 154</span> <span class="comment">// Transform the lookAt and up vector by the rotation matrix so the view is correctly rotated at the origin.</span></div>
<div class="line"><span class="lineno"> 155</span> lookAtVector = XMVector3TransformCoord(lookAtVector, rotationMatrix);</div>
<div class="line"><span class="lineno"> 156</span> upVector = XMVector3TransformCoord(upVector, rotationMatrix);</div>
<div class="line"><span class="lineno"> 157</span> </div>
<div class="line"><span class="lineno"> 158</span> <span class="comment">// Translate the rotated camera position to the location of the viewer.</span></div>
<div class="line"><span class="lineno"> 159</span> lookAtVector = XMVectorAdd(positionVector, lookAtVector);</div>
<div class="line"><span class="lineno"> 160</span> </div>
<div class="line"><span class="lineno"> 161</span> <span class="comment">// Finally create the view matrix from the three updated vectors.</span></div>
<div class="line"><span class="lineno"> 162</span> reflection_view_matrix_ = XMMatrixLookAtLH(positionVector, lookAtVector, upVector);</div>
<div class="line"><span class="lineno"> 163</span> </div>
<div class="line"><span class="lineno"> 164</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 165</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a4b9ac7f98297d2007abd1ed3d326d381" name="a4b9ac7f98297d2007abd1ed3d326d381"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b9ac7f98297d2007abd1ed3d326d381">&#9670;&#160;</a></span>set_position()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void camera_class::set_position </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>x</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>y</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>z</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the position of the camera in 3D space. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">position_x</td><td>The x-coordinate of the camera's position. </td></tr>
<tr><td class="paramname">position_y</td><td>The y-coordinate of the camera's position. </td></tr>
<tr><td class="paramname">position_z</td><td>The z-coordinate of the camera's position. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="camera__class_8cpp_source.html#l00027">27</a> of file <a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 28</span>{</div>
<div class="line"><span class="lineno"> 29</span> position_x_ = x;</div>
<div class="line"><span class="lineno"> 30</span> position_y_ = y;</div>
<div class="line"><span class="lineno"> 31</span> position_z_ = z;</div>
<div class="line"><span class="lineno"> 32</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 33</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a410c4bbfd5ba10d0785f5ac9178f9b3f" name="a410c4bbfd5ba10d0785f5ac9178f9b3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a410c4bbfd5ba10d0785f5ac9178f9b3f">&#9670;&#160;</a></span>set_rotation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void camera_class::set_rotation </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>x</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>y</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>z</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the rotation of the camera in 3D space. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rotation_x</td><td>The rotation around the x-axis in degrees. </td></tr>
<tr><td class="paramname">rotation_y</td><td>The rotation around the y-axis in degrees. </td></tr>
<tr><td class="paramname">rotation_z</td><td>The rotation around the z-axis in degrees. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="camera__class_8cpp_source.html#l00036">36</a> of file <a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 37</span>{</div>
<div class="line"><span class="lineno"> 38</span> rotation_x_ = x;</div>
<div class="line"><span class="lineno"> 39</span> rotation_y_ = y;</div>
<div class="line"><span class="lineno"> 40</span> rotation_z_ = z;</div>
<div class="line"><span class="lineno"> 41</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 42</span>}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>enginecustom/src/inc/system/<a class="el" href="camera__class_8h_source.html">camera_class.h</a></li>
<li>enginecustom/src/src/system/<a class="el" href="camera__class_8cpp_source.html">camera_class.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classcamera__class.html">camera_class</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,12 @@
var classcamera__class =
[
[ "camera_class", "classcamera__class.html#ac18562f9e46ca033440ba9df2d180e20", null ],
[ "get_position", "classcamera__class.html#af416c69abe70579751cd404cba8bf388", null ],
[ "get_reflection_view_matrix", "classcamera__class.html#ac4d85cc166aec75e54528dc9dee8a075", null ],
[ "get_rotation", "classcamera__class.html#aa8073c109a536d48478257a3e1e889cd", null ],
[ "get_view_matrix", "classcamera__class.html#ac17736821f337ce7fd52b9857095de68", null ],
[ "render", "classcamera__class.html#a0820187f209f9628e6b2a8af34d71057", null ],
[ "render_reflection", "classcamera__class.html#a58b36223405de07000d108129c998075", null ],
[ "set_position", "classcamera__class.html#a4b9ac7f98297d2007abd1ed3d326d381", null ],
[ "set_rotation", "classcamera__class.html#a410c4bbfd5ba10d0785f5ac9178f9b3f", null ]
];

View File

@@ -0,0 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classcelshade__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">celshade_class Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classcelshade__class.html">celshade_class</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>celshade_class</b>() (defined in <a class="el" href="classcelshade__class.html">celshade_class</a>)</td><td class="entry"><a class="el" href="classcelshade__class.html">celshade_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>celshade_class</b>(const celshade_class &amp;) (defined in <a class="el" href="classcelshade__class.html">celshade_class</a>)</td><td class="entry"><a class="el" href="classcelshade__class.html">celshade_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>initialize</b>(ID3D11Device *, HWND) (defined in <a class="el" href="classcelshade__class.html">celshade_class</a>)</td><td class="entry"><a class="el" href="classcelshade__class.html">celshade_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>render</b>(ID3D11DeviceContext *device_context, int index_count, XMMATRIX world_matrix, XMMATRIX view_matrix, XMMATRIX projection_matrix, ID3D11ShaderResourceView *texture, XMFLOAT4 diffuse_color, XMFLOAT4 ambient_color, XMFLOAT3 sun_direction, float intensity) (defined in <a class="el" href="classcelshade__class.html">celshade_class</a>)</td><td class="entry"><a class="el" href="classcelshade__class.html">celshade_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>shutdown</b>() (defined in <a class="el" href="classcelshade__class.html">celshade_class</a>)</td><td class="entry"><a class="el" href="classcelshade__class.html">celshade_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~celshade_class</b>() (defined in <a class="el" href="classcelshade__class.html">celshade_class</a>)</td><td class="entry"><a class="el" href="classcelshade__class.html">celshade_class</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,373 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: celshade_class Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classcelshade__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcelshade__class-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">celshade_class Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a26b79d6e20db98b4e8d419956969bd8c" id="r_a26b79d6e20db98b4e8d419956969bd8c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a26b79d6e20db98b4e8d419956969bd8c">celshade_class</a> (const <a class="el" href="classcelshade__class.html">celshade_class</a> &amp;)</td></tr>
<tr class="separator:a26b79d6e20db98b4e8d419956969bd8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a050b96759e66d683783a1d6269621f99" id="r_a050b96759e66d683783a1d6269621f99"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a050b96759e66d683783a1d6269621f99">initialize</a> (ID3D11Device *, HWND)</td></tr>
<tr class="separator:a050b96759e66d683783a1d6269621f99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebaa18b5ee81fe3d2250e2a5f1349545" id="r_aebaa18b5ee81fe3d2250e2a5f1349545"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aebaa18b5ee81fe3d2250e2a5f1349545">shutdown</a> ()</td></tr>
<tr class="separator:aebaa18b5ee81fe3d2250e2a5f1349545"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad22b0e03b10059a9f577ead43ec2417" id="r_aad22b0e03b10059a9f577ead43ec2417"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aad22b0e03b10059a9f577ead43ec2417">render</a> (ID3D11DeviceContext *device_context, int index_count, XMMATRIX world_matrix, XMMATRIX view_matrix, XMMATRIX projection_matrix, ID3D11ShaderResourceView *texture, XMFLOAT4 diffuse_color, XMFLOAT4 ambient_color, XMFLOAT3 sun_direction, float intensity)</td></tr>
<tr class="separator:aad22b0e03b10059a9f577ead43ec2417"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="celshade__class_8h_source.html#l00011">11</a> of file <a class="el" href="celshade__class_8h_source.html">celshade_class.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a56bde1a1cf55514531819a2549a28846" name="a56bde1a1cf55514531819a2549a28846"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56bde1a1cf55514531819a2549a28846">&#9670;&#160;</a></span>celshade_class() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">celshade_class::celshade_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="celshade__class_8cpp_source.html#l00007">7</a> of file <a class="el" href="celshade__class_8cpp_source.html">celshade_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 8</span>{</div>
<div class="line"><span class="lineno"> 9</span> vertex_shader_ = 0;</div>
<div class="line"><span class="lineno"> 10</span> pixel_shader_ = 0;</div>
<div class="line"><span class="lineno"> 11</span> layout_ = 0;</div>
<div class="line"><span class="lineno"> 12</span> sample_state_ = 0;</div>
<div class="line"><span class="lineno"> 13</span> matrix_buffer_ = 0;</div>
<div class="line"><span class="lineno"> 14</span> camera_buffer_ = 0;</div>
<div class="line"><span class="lineno"> 15</span> sunlight_buffer_ = 0;</div>
<div class="line"><span class="lineno"> 16</span> sunlight_color_buffer_ = 0;</div>
<div class="line"><span class="lineno"> 17</span> sunlight_position_buffer_ = 0;</div>
<div class="line"><span class="lineno"> 18</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a26b79d6e20db98b4e8d419956969bd8c" name="a26b79d6e20db98b4e8d419956969bd8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26b79d6e20db98b4e8d419956969bd8c">&#9670;&#160;</a></span>celshade_class() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">celshade_class::celshade_class </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcelshade__class.html">celshade_class</a> &amp;</td> <td class="paramname"><span class="paramname"><em>other</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="celshade__class_8cpp_source.html#l00021">21</a> of file <a class="el" href="celshade__class_8cpp_source.html">celshade_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 22</span>{</div>
<div class="line"><span class="lineno"> 23</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a707ee82ecbbe603079bbad19225a874e" name="a707ee82ecbbe603079bbad19225a874e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a707ee82ecbbe603079bbad19225a874e">&#9670;&#160;</a></span>~celshade_class()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">celshade_class::~celshade_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="celshade__class_8cpp_source.html#l00026">26</a> of file <a class="el" href="celshade__class_8cpp_source.html">celshade_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 27</span>{</div>
<div class="line"><span class="lineno"> 28</span>}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a050b96759e66d683783a1d6269621f99" name="a050b96759e66d683783a1d6269621f99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a050b96759e66d683783a1d6269621f99">&#9670;&#160;</a></span>initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool celshade_class::initialize </td>
<td>(</td>
<td class="paramtype">ID3D11Device *</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HWND</td> <td class="paramname"><span class="paramname"><em>hwnd</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="celshade__class_8cpp_source.html#l00031">31</a> of file <a class="el" href="celshade__class_8cpp_source.html">celshade_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 32</span>{</div>
<div class="line"><span class="lineno"> 33</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing LightShaderClass&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><span class="lineno"> 34</span> </div>
<div class="line"><span class="lineno"> 35</span> <span class="keywordtype">wchar_t</span> vsFilename[128];</div>
<div class="line"><span class="lineno"> 36</span> <span class="keywordtype">wchar_t</span> psFilename[128];</div>
<div class="line"><span class="lineno"> 37</span> <span class="keywordtype">int</span> error;</div>
<div class="line"><span class="lineno"> 38</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><span class="lineno"> 39</span> </div>
<div class="line"><span class="lineno"> 40</span> <span class="comment">// Set the filename of the vertex shader.</span></div>
<div class="line"><span class="lineno"> 41</span> error = wcscpy_s(vsFilename, 128, L<span class="stringliteral">&quot;src/hlsl/celshading.vs&quot;</span>);</div>
<div class="line"><span class="lineno"> 42</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><span class="lineno"> 43</span> {</div>
<div class="line"><span class="lineno"> 44</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to copy string&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 45</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 46</span> }</div>
<div class="line"><span class="lineno"> 47</span> </div>
<div class="line"><span class="lineno"> 48</span> <span class="comment">// Set the filename of the pixel shader.</span></div>
<div class="line"><span class="lineno"> 49</span> error = wcscpy_s(psFilename, 128, L<span class="stringliteral">&quot;src/hlsl/celshading.ps&quot;</span>);</div>
<div class="line"><span class="lineno"> 50</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><span class="lineno"> 51</span> {</div>
<div class="line"><span class="lineno"> 52</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to copy string&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 53</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 54</span> }</div>
<div class="line"><span class="lineno"> 55</span> <span class="comment">// initialize the vertex and pixel shaders.</span></div>
<div class="line"><span class="lineno"> 56</span> result = initialize_shader(device, hwnd, vsFilename, psFilename);</div>
<div class="line"><span class="lineno"> 57</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 58</span> {</div>
<div class="line"><span class="lineno"> 59</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to initialize shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 60</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 61</span> }</div>
<div class="line"><span class="lineno"> 62</span> </div>
<div class="line"><span class="lineno"> 63</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;SunLightShaderClass initialized&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><span class="lineno"> 64</span> </div>
<div class="line"><span class="lineno"> 65</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 66</span>}</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aad22b0e03b10059a9f577ead43ec2417" name="aad22b0e03b10059a9f577ead43ec2417"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad22b0e03b10059a9f577ead43ec2417">&#9670;&#160;</a></span>render()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool celshade_class::render </td>
<td>(</td>
<td class="paramtype">ID3D11DeviceContext *</td> <td class="paramname"><span class="paramname"><em>device_context</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>index_count</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>world_matrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>view_matrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>projection_matrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ID3D11ShaderResourceView *</td> <td class="paramname"><span class="paramname"><em>texture</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMFLOAT4</td> <td class="paramname"><span class="paramname"><em>diffuse_color</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMFLOAT4</td> <td class="paramname"><span class="paramname"><em>ambient_color</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMFLOAT3</td> <td class="paramname"><span class="paramname"><em>sun_direction</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>intensity</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="celshade__class_8cpp_source.html#l00077">77</a> of file <a class="el" href="celshade__class_8cpp_source.html">celshade_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 79</span>{</div>
<div class="line"><span class="lineno"> 80</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><span class="lineno"> 81</span> </div>
<div class="line"><span class="lineno"> 82</span> </div>
<div class="line"><span class="lineno"> 83</span> <span class="comment">// Set the shader parameters that it will use for rendering.</span></div>
<div class="line"><span class="lineno"> 84</span> result = set_shader_parameters(deviceContext, world_matrix, view_matrix, projection_matrix, texture, diffuse_color, ambient_color, sun_direction, sunIntensity);</div>
<div class="line"><span class="lineno"> 85</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 86</span> {</div>
<div class="line"><span class="lineno"> 87</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Failed to set shader parameters&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 88</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 89</span> }</div>
<div class="line"><span class="lineno"> 90</span> </div>
<div class="line"><span class="lineno"> 91</span> <span class="comment">// Now render the prepared buffers with the shader.</span></div>
<div class="line"><span class="lineno"> 92</span> render_shader(deviceContext, index_count);</div>
<div class="line"><span class="lineno"> 93</span> </div>
<div class="line"><span class="lineno"> 94</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 95</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="aebaa18b5ee81fe3d2250e2a5f1349545" name="aebaa18b5ee81fe3d2250e2a5f1349545"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebaa18b5ee81fe3d2250e2a5f1349545">&#9670;&#160;</a></span>shutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void celshade_class::shutdown </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="celshade__class_8cpp_source.html#l00069">69</a> of file <a class="el" href="celshade__class_8cpp_source.html">celshade_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 70</span>{</div>
<div class="line"><span class="lineno"> 71</span> <span class="comment">// shutdown the vertex and pixel shaders as well as the related objects.</span></div>
<div class="line"><span class="lineno"> 72</span> shutdown_shader();</div>
<div class="line"><span class="lineno"> 73</span> </div>
<div class="line"><span class="lineno"> 74</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 75</span>}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>enginecustom/src/inc/shader/<a class="el" href="celshade__class_8h_source.html">celshade_class.h</a></li>
<li>enginecustom/src/src/shader/<a class="el" href="celshade__class_8cpp_source.html">celshade_class.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classcelshade__class.html">celshade_class</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classcolor__shader__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">color_shader_class Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classcolor__shader__class.html">color_shader_class</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>color_shader_class</b>() (defined in <a class="el" href="classcolor__shader__class.html">color_shader_class</a>)</td><td class="entry"><a class="el" href="classcolor__shader__class.html">color_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>color_shader_class</b>(const color_shader_class &amp;) (defined in <a class="el" href="classcolor__shader__class.html">color_shader_class</a>)</td><td class="entry"><a class="el" href="classcolor__shader__class.html">color_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>initialize</b>(ID3D11Device *, HWND) (defined in <a class="el" href="classcolor__shader__class.html">color_shader_class</a>)</td><td class="entry"><a class="el" href="classcolor__shader__class.html">color_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>render</b>(ID3D11DeviceContext *, int, XMMATRIX, XMMATRIX, XMMATRIX) (defined in <a class="el" href="classcolor__shader__class.html">color_shader_class</a>)</td><td class="entry"><a class="el" href="classcolor__shader__class.html">color_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>shutdown</b>() (defined in <a class="el" href="classcolor__shader__class.html">color_shader_class</a>)</td><td class="entry"><a class="el" href="classcolor__shader__class.html">color_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~color_shader_class</b>() (defined in <a class="el" href="classcolor__shader__class.html">color_shader_class</a>)</td><td class="entry"><a class="el" href="classcolor__shader__class.html">color_shader_class</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,345 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: color_shader_class Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classcolor__shader__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcolor__shader__class-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">color_shader_class Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9e514a2c6ea721ea94c43ec50c7c1e2b" id="r_a9e514a2c6ea721ea94c43ec50c7c1e2b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9e514a2c6ea721ea94c43ec50c7c1e2b">color_shader_class</a> (const <a class="el" href="classcolor__shader__class.html">color_shader_class</a> &amp;)</td></tr>
<tr class="separator:a9e514a2c6ea721ea94c43ec50c7c1e2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3123cef2e59f263e1cf93add3208cad" id="r_ae3123cef2e59f263e1cf93add3208cad"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae3123cef2e59f263e1cf93add3208cad">initialize</a> (ID3D11Device *, HWND)</td></tr>
<tr class="separator:ae3123cef2e59f263e1cf93add3208cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1caee96b7b9d8fe17851bffdc0d91d31" id="r_a1caee96b7b9d8fe17851bffdc0d91d31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1caee96b7b9d8fe17851bffdc0d91d31">shutdown</a> ()</td></tr>
<tr class="separator:a1caee96b7b9d8fe17851bffdc0d91d31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92a0458d236ffb853f821655aa7cbf73" id="r_a92a0458d236ffb853f821655aa7cbf73"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a92a0458d236ffb853f821655aa7cbf73">render</a> (ID3D11DeviceContext *, int, XMMATRIX, XMMATRIX, XMMATRIX)</td></tr>
<tr class="separator:a92a0458d236ffb853f821655aa7cbf73"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="color__shader__class_8h_source.html#l00023">23</a> of file <a class="el" href="color__shader__class_8h_source.html">color_shader_class.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6cf4327e301c2c60cbf4b0e0f7cf3329" name="a6cf4327e301c2c60cbf4b0e0f7cf3329"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cf4327e301c2c60cbf4b0e0f7cf3329">&#9670;&#160;</a></span>color_shader_class() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">color_shader_class::color_shader_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="color__shader__class_8cpp_source.html#l00006">6</a> of file <a class="el" href="color__shader__class_8cpp_source.html">color_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 7</span>{</div>
<div class="line"><span class="lineno"> 8</span> vertex_shader_ = 0;</div>
<div class="line"><span class="lineno"> 9</span> pixel_shader_ = 0;</div>
<div class="line"><span class="lineno"> 10</span> layout_ = 0;</div>
<div class="line"><span class="lineno"> 11</span> matrix_buffer_ = 0;</div>
<div class="line"><span class="lineno"> 12</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a9e514a2c6ea721ea94c43ec50c7c1e2b" name="a9e514a2c6ea721ea94c43ec50c7c1e2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e514a2c6ea721ea94c43ec50c7c1e2b">&#9670;&#160;</a></span>color_shader_class() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">color_shader_class::color_shader_class </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcolor__shader__class.html">color_shader_class</a> &amp;</td> <td class="paramname"><span class="paramname"><em>other</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="color__shader__class_8cpp_source.html#l00015">15</a> of file <a class="el" href="color__shader__class_8cpp_source.html">color_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 16</span>{</div>
<div class="line"><span class="lineno"> 17</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a9aeae6e329244ab3e393b116419f0a64" name="a9aeae6e329244ab3e393b116419f0a64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9aeae6e329244ab3e393b116419f0a64">&#9670;&#160;</a></span>~color_shader_class()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">color_shader_class::~color_shader_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="color__shader__class_8cpp_source.html#l00020">20</a> of file <a class="el" href="color__shader__class_8cpp_source.html">color_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 21</span>{</div>
<div class="line"><span class="lineno"> 22</span>}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae3123cef2e59f263e1cf93add3208cad" name="ae3123cef2e59f263e1cf93add3208cad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3123cef2e59f263e1cf93add3208cad">&#9670;&#160;</a></span>initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool color_shader_class::initialize </td>
<td>(</td>
<td class="paramtype">ID3D11Device *</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HWND</td> <td class="paramname"><span class="paramname"><em>hwnd</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="color__shader__class_8cpp_source.html#l00024">24</a> of file <a class="el" href="color__shader__class_8cpp_source.html">color_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 25</span>{</div>
<div class="line"><span class="lineno"> 26</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing color_shader_class&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><span class="lineno"> 27</span> </div>
<div class="line"><span class="lineno"> 28</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><span class="lineno"> 29</span> <span class="keywordtype">wchar_t</span> vsFilename[128];</div>
<div class="line"><span class="lineno"> 30</span> <span class="keywordtype">wchar_t</span> psFilename[128];</div>
<div class="line"><span class="lineno"> 31</span> <span class="keywordtype">int</span> error;</div>
<div class="line"><span class="lineno"> 32</span> </div>
<div class="line"><span class="lineno"> 33</span> </div>
<div class="line"><span class="lineno"> 34</span> <span class="comment">// Set the filename of the vertex shader.</span></div>
<div class="line"><span class="lineno"> 35</span> error = wcscpy_s(vsFilename, 128, L<span class="stringliteral">&quot;src/hlsl/Color.vs&quot;</span>);</div>
<div class="line"><span class="lineno"> 36</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><span class="lineno"> 37</span> {</div>
<div class="line"><span class="lineno"> 38</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error copying string&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 39</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 40</span> }</div>
<div class="line"><span class="lineno"> 41</span> </div>
<div class="line"><span class="lineno"> 42</span> <span class="comment">// Set the filename of the pixel shader.</span></div>
<div class="line"><span class="lineno"> 43</span> error = wcscpy_s(psFilename, 128, L<span class="stringliteral">&quot;src/hlsl/Color.ps&quot;</span>);</div>
<div class="line"><span class="lineno"> 44</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><span class="lineno"> 45</span> {</div>
<div class="line"><span class="lineno"> 46</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error copying string&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 47</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 48</span> }</div>
<div class="line"><span class="lineno"> 49</span> </div>
<div class="line"><span class="lineno"> 50</span> <span class="comment">// initialize the vertex and pixel shaders.</span></div>
<div class="line"><span class="lineno"> 51</span> result = initialize_shader(device, hwnd, vsFilename, psFilename);</div>
<div class="line"><span class="lineno"> 52</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 53</span> {</div>
<div class="line"><span class="lineno"> 54</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error initializing shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 55</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 56</span> }</div>
<div class="line"><span class="lineno"> 57</span> </div>
<div class="line"><span class="lineno"> 58</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;color_shader_class initialized&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><span class="lineno"> 59</span> </div>
<div class="line"><span class="lineno"> 60</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 61</span>}</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a92a0458d236ffb853f821655aa7cbf73" name="a92a0458d236ffb853f821655aa7cbf73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92a0458d236ffb853f821655aa7cbf73">&#9670;&#160;</a></span>render()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool color_shader_class::render </td>
<td>(</td>
<td class="paramtype">ID3D11DeviceContext *</td> <td class="paramname"><span class="paramname"><em>deviceContext</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>indexCount</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>worldMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>viewMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>projectionMatrix</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="color__shader__class_8cpp_source.html#l00071">71</a> of file <a class="el" href="color__shader__class_8cpp_source.html">color_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 73</span>{</div>
<div class="line"><span class="lineno"> 74</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><span class="lineno"> 75</span> </div>
<div class="line"><span class="lineno"> 76</span> </div>
<div class="line"><span class="lineno"> 77</span> <span class="comment">// Set the shader parameters that it will use for rendering.</span></div>
<div class="line"><span class="lineno"> 78</span> result = set_shader_parameters(deviceContext, worldMatrix, viewMatrix, projectionMatrix);</div>
<div class="line"><span class="lineno"> 79</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 80</span> {</div>
<div class="line"><span class="lineno"> 81</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error setting shader parameters&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 82</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 83</span> }</div>
<div class="line"><span class="lineno"> 84</span> </div>
<div class="line"><span class="lineno"> 85</span> <span class="comment">// Now render the prepared buffers with the shader.</span></div>
<div class="line"><span class="lineno"> 86</span> render_shader(deviceContext, indexCount);</div>
<div class="line"><span class="lineno"> 87</span> </div>
<div class="line"><span class="lineno"> 88</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 89</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a1caee96b7b9d8fe17851bffdc0d91d31" name="a1caee96b7b9d8fe17851bffdc0d91d31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1caee96b7b9d8fe17851bffdc0d91d31">&#9670;&#160;</a></span>shutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void color_shader_class::shutdown </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="color__shader__class_8cpp_source.html#l00063">63</a> of file <a class="el" href="color__shader__class_8cpp_source.html">color_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 64</span>{</div>
<div class="line"><span class="lineno"> 65</span> <span class="comment">// shutdown the vertex and pixel shaders as well as the related objects.</span></div>
<div class="line"><span class="lineno"> 66</span> shutdown_shader();</div>
<div class="line"><span class="lineno"> 67</span> </div>
<div class="line"><span class="lineno"> 68</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 69</span>}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>enginecustom/src/inc/shader/<a class="el" href="color__shader__class_8h_source.html">color_shader_class.h</a></li>
<li>enginecustom/src/src/shader/<a class="el" href="color__shader__class_8cpp_source.html">color_shader_class.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classcolor__shader__class.html">color_shader_class</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,139 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classd__3d__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">d_3d_class Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classd__3d__class.html">d_3d_class</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classd__3d__class.html#acaf14bacf9de484d9f4deb4e148d272c">begin_scene</a>(float, float, float, float)</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classd__3d__class.html#a9858f0cfaa93dec1b76ccea6e31c85bc">d_3d_class</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>d_3d_class</b>(const d_3d_class &amp;) (defined in <a class="el" href="classd__3d__class.html">d_3d_class</a>)</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classd__3d__class.html#a971e5902f64a1885238bb94dc071ab18">disable_alpha_blending</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classd__3d__class.html#a93b990eb289ab87c5e488353b9a90d7c">enable_alpha_blending</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classd__3d__class.html#a0c3bc2a6265c0922ac7fa20264036bb9">end_scene</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classd__3d__class.html#a0979aea3c4bb6815908fbe188fc1c67e">get_device</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classd__3d__class.html#a4ad87066c014351689f12981234beadb">get_device_context</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classd__3d__class.html#aa24cb2be2ecf760dd8ff350e88534130">get_ortho_matrix</a>() const</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classd__3d__class.html#a64893c249b126bdc97f63c00e7c78758">get_projection_matrix</a>() const</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classd__3d__class.html#aa25b4b30b0ee3160c4d6c86ceeedd70d">get_swap_chain</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classd__3d__class.html#a7373ca22ab51dd0f8949a917fa057f19">get_video_card_info</a>(char *description, int &amp;memory)</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classd__3d__class.html#a2a910b75177d248036bb4418038406f1">get_world_matrix</a>() const</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classd__3d__class.html#aeba928a71d4440004fff00603ed06658">initialize</a>(int, int, bool, HWND, bool, float, float)</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classd__3d__class.html#a17c8aa0768ac5005f1e9cb27dac70a0e">release_resources</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classd__3d__class.html#a1d13282bf58145a96b3a77285b075a7a">reset_resources</a>(int newWidth, int newHeight)</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classd__3d__class.html#a63f75e9982d09b8cd8d06a1f79c01246">reset_viewport</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classd__3d__class.html#a953be067f947e9be5b6fbdf1ac35bb60">resize_swap_chain</a>(int width, int height)</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classd__3d__class.html#a2e36ee106e2d9066c96ded6a3e97ac0c">set_back_buffer_render_target</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classd__3d__class.html#ab0f3edaca84f6371ebbdb6291a60b59c">set_vsync</a>(bool vsync)</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classd__3d__class.html#ac6f9c4ea768ab32707ddb7a095ca60b3">shutdown</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>swap_chain</b> (defined in <a class="el" href="classd__3d__class.html">d_3d_class</a>)</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classd__3d__class.html#af10a177e15842ad232f394d30f80a4e6">turn_z_buffer_off</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classd__3d__class.html#a00a377d6a09653fd3f7e68af8afcea3a">turn_z_buffer_on</a>()</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~d_3d_class</b>() (defined in <a class="el" href="classd__3d__class.html">d_3d_class</a>)</td><td class="entry"><a class="el" href="classd__3d__class.html">d_3d_class</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,25 @@
var classd__3d__class =
[
[ "d_3d_class", "classd__3d__class.html#a9858f0cfaa93dec1b76ccea6e31c85bc", null ],
[ "begin_scene", "classd__3d__class.html#acaf14bacf9de484d9f4deb4e148d272c", null ],
[ "disable_alpha_blending", "classd__3d__class.html#a971e5902f64a1885238bb94dc071ab18", null ],
[ "enable_alpha_blending", "classd__3d__class.html#a93b990eb289ab87c5e488353b9a90d7c", null ],
[ "end_scene", "classd__3d__class.html#a0c3bc2a6265c0922ac7fa20264036bb9", null ],
[ "get_device", "classd__3d__class.html#a0979aea3c4bb6815908fbe188fc1c67e", null ],
[ "get_device_context", "classd__3d__class.html#a4ad87066c014351689f12981234beadb", null ],
[ "get_ortho_matrix", "classd__3d__class.html#aa24cb2be2ecf760dd8ff350e88534130", null ],
[ "get_projection_matrix", "classd__3d__class.html#a64893c249b126bdc97f63c00e7c78758", null ],
[ "get_swap_chain", "classd__3d__class.html#aa25b4b30b0ee3160c4d6c86ceeedd70d", null ],
[ "get_video_card_info", "classd__3d__class.html#a7373ca22ab51dd0f8949a917fa057f19", null ],
[ "get_world_matrix", "classd__3d__class.html#a2a910b75177d248036bb4418038406f1", null ],
[ "initialize", "classd__3d__class.html#aeba928a71d4440004fff00603ed06658", null ],
[ "release_resources", "classd__3d__class.html#a17c8aa0768ac5005f1e9cb27dac70a0e", null ],
[ "reset_resources", "classd__3d__class.html#a1d13282bf58145a96b3a77285b075a7a", null ],
[ "reset_viewport", "classd__3d__class.html#a63f75e9982d09b8cd8d06a1f79c01246", null ],
[ "resize_swap_chain", "classd__3d__class.html#a953be067f947e9be5b6fbdf1ac35bb60", null ],
[ "set_back_buffer_render_target", "classd__3d__class.html#a2e36ee106e2d9066c96ded6a3e97ac0c", null ],
[ "set_vsync", "classd__3d__class.html#ab0f3edaca84f6371ebbdb6291a60b59c", null ],
[ "shutdown", "classd__3d__class.html#ac6f9c4ea768ab32707ddb7a095ca60b3", null ],
[ "turn_z_buffer_off", "classd__3d__class.html#af10a177e15842ad232f394d30f80a4e6", null ],
[ "turn_z_buffer_on", "classd__3d__class.html#a00a377d6a09653fd3f7e68af8afcea3a", null ]
];

View File

@@ -0,0 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classdepth__shader__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">depth_shader_class Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classdepth__shader__class.html">depth_shader_class</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>depth_shader_class</b>() (defined in <a class="el" href="classdepth__shader__class.html">depth_shader_class</a>)</td><td class="entry"><a class="el" href="classdepth__shader__class.html">depth_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>depth_shader_class</b>(const depth_shader_class &amp;) (defined in <a class="el" href="classdepth__shader__class.html">depth_shader_class</a>)</td><td class="entry"><a class="el" href="classdepth__shader__class.html">depth_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>initialize</b>(ID3D11Device *, HWND) (defined in <a class="el" href="classdepth__shader__class.html">depth_shader_class</a>)</td><td class="entry"><a class="el" href="classdepth__shader__class.html">depth_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>render</b>(ID3D11DeviceContext *, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView *) (defined in <a class="el" href="classdepth__shader__class.html">depth_shader_class</a>)</td><td class="entry"><a class="el" href="classdepth__shader__class.html">depth_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>shutdown</b>() (defined in <a class="el" href="classdepth__shader__class.html">depth_shader_class</a>)</td><td class="entry"><a class="el" href="classdepth__shader__class.html">depth_shader_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~depth_shader_class</b>() (defined in <a class="el" href="classdepth__shader__class.html">depth_shader_class</a>)</td><td class="entry"><a class="el" href="classdepth__shader__class.html">depth_shader_class</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,349 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: depth_shader_class Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classdepth__shader__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classdepth__shader__class-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">depth_shader_class Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad892aa6019dccbfb5c655071c21346d6" id="r_ad892aa6019dccbfb5c655071c21346d6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad892aa6019dccbfb5c655071c21346d6">depth_shader_class</a> (const <a class="el" href="classdepth__shader__class.html">depth_shader_class</a> &amp;)</td></tr>
<tr class="separator:ad892aa6019dccbfb5c655071c21346d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac00b827665aea3e3daeac20c9e28a37" id="r_aac00b827665aea3e3daeac20c9e28a37"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aac00b827665aea3e3daeac20c9e28a37">initialize</a> (ID3D11Device *, HWND)</td></tr>
<tr class="separator:aac00b827665aea3e3daeac20c9e28a37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25254dd4d620ed4d30562a626cea84cd" id="r_a25254dd4d620ed4d30562a626cea84cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a25254dd4d620ed4d30562a626cea84cd">shutdown</a> ()</td></tr>
<tr class="separator:a25254dd4d620ed4d30562a626cea84cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad389591265f38ebbfcbead07f7d172e4" id="r_ad389591265f38ebbfcbead07f7d172e4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad389591265f38ebbfcbead07f7d172e4">render</a> (ID3D11DeviceContext *, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView *)</td></tr>
<tr class="separator:ad389591265f38ebbfcbead07f7d172e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="depth__shader__class_8h_source.html#l00020">20</a> of file <a class="el" href="depth__shader__class_8h_source.html">depth_shader_class.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aca516cf30105a9e4b34d8bd75b24b0c8" name="aca516cf30105a9e4b34d8bd75b24b0c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca516cf30105a9e4b34d8bd75b24b0c8">&#9670;&#160;</a></span>depth_shader_class() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">depth_shader_class::depth_shader_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="depth__shader__class_8cpp_source.html#l00004">4</a> of file <a class="el" href="depth__shader__class_8cpp_source.html">depth_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 5</span>{</div>
<div class="line"><span class="lineno"> 6</span> vertex_shader_ = 0;</div>
<div class="line"><span class="lineno"> 7</span> pixel_shader_ = 0;</div>
<div class="line"><span class="lineno"> 8</span> layout_ = 0;</div>
<div class="line"><span class="lineno"> 9</span> matrix_buffer_ = 0;</div>
<div class="line"><span class="lineno"> 10</span> sample_state_ = 0;</div>
<div class="line"><span class="lineno"> 11</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad892aa6019dccbfb5c655071c21346d6" name="ad892aa6019dccbfb5c655071c21346d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad892aa6019dccbfb5c655071c21346d6">&#9670;&#160;</a></span>depth_shader_class() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">depth_shader_class::depth_shader_class </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdepth__shader__class.html">depth_shader_class</a> &amp;</td> <td class="paramname"><span class="paramname"><em>other</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="depth__shader__class_8cpp_source.html#l00014">14</a> of file <a class="el" href="depth__shader__class_8cpp_source.html">depth_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 15</span>{</div>
<div class="line"><span class="lineno"> 16</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad7ea23eccc4abbec241f64eefc378a01" name="ad7ea23eccc4abbec241f64eefc378a01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7ea23eccc4abbec241f64eefc378a01">&#9670;&#160;</a></span>~depth_shader_class()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">depth_shader_class::~depth_shader_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="depth__shader__class_8cpp_source.html#l00019">19</a> of file <a class="el" href="depth__shader__class_8cpp_source.html">depth_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 20</span>{</div>
<div class="line"><span class="lineno"> 21</span>}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aac00b827665aea3e3daeac20c9e28a37" name="aac00b827665aea3e3daeac20c9e28a37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac00b827665aea3e3daeac20c9e28a37">&#9670;&#160;</a></span>initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool depth_shader_class::initialize </td>
<td>(</td>
<td class="paramtype">ID3D11Device *</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HWND</td> <td class="paramname"><span class="paramname"><em>hwnd</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="depth__shader__class_8cpp_source.html#l00024">24</a> of file <a class="el" href="depth__shader__class_8cpp_source.html">depth_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 25</span>{</div>
<div class="line"><span class="lineno"> 26</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing texture shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><span class="lineno"> 27</span> </div>
<div class="line"><span class="lineno"> 28</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><span class="lineno"> 29</span> <span class="keywordtype">wchar_t</span> vsFilename[128];</div>
<div class="line"><span class="lineno"> 30</span> <span class="keywordtype">wchar_t</span> psFilename[128];</div>
<div class="line"><span class="lineno"> 31</span> <span class="keywordtype">int</span> error;</div>
<div class="line"><span class="lineno"> 32</span> <span class="comment">// Set the filename of the vertex shader.</span></div>
<div class="line"><span class="lineno"> 33</span> error = wcscpy_s(vsFilename, 128, L<span class="stringliteral">&quot;src/hlsl/depth.vs&quot;</span>);</div>
<div class="line"><span class="lineno"> 34</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><span class="lineno"> 35</span> {</div>
<div class="line"><span class="lineno"> 36</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error copying stirng&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 37</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 38</span> }</div>
<div class="line"><span class="lineno"> 39</span> </div>
<div class="line"><span class="lineno"> 40</span> <span class="comment">// Set the filename of the pixel shader.</span></div>
<div class="line"><span class="lineno"> 41</span> error = wcscpy_s(psFilename, 128, L<span class="stringliteral">&quot;src/hlsl/depth.ps&quot;</span>);</div>
<div class="line"><span class="lineno"> 42</span> <span class="keywordflow">if</span> (error != 0)</div>
<div class="line"><span class="lineno"> 43</span> {</div>
<div class="line"><span class="lineno"> 44</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error copying stirng&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 45</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 46</span> }</div>
<div class="line"><span class="lineno"> 47</span> </div>
<div class="line"><span class="lineno"> 48</span> <span class="comment">// initialize the vertex and pixel shaders.</span></div>
<div class="line"><span class="lineno"> 49</span> result = initialize_shader(device, hwnd, vsFilename, psFilename);</div>
<div class="line"><span class="lineno"> 50</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 51</span> {</div>
<div class="line"><span class="lineno"> 52</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error initializing shader&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 53</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 54</span> }</div>
<div class="line"><span class="lineno"> 55</span> </div>
<div class="line"><span class="lineno"> 56</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Texture shader initialized&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><span class="lineno"> 57</span> </div>
<div class="line"><span class="lineno"> 58</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 59</span>}</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ad389591265f38ebbfcbead07f7d172e4" name="ad389591265f38ebbfcbead07f7d172e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad389591265f38ebbfcbead07f7d172e4">&#9670;&#160;</a></span>render()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool depth_shader_class::render </td>
<td>(</td>
<td class="paramtype">ID3D11DeviceContext *</td> <td class="paramname"><span class="paramname"><em>deviceContext</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>indexCount</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>worldMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>viewMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMMATRIX</td> <td class="paramname"><span class="paramname"><em>projectionMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ID3D11ShaderResourceView *</td> <td class="paramname"><span class="paramname"><em>texture</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="depth__shader__class_8cpp_source.html#l00069">69</a> of file <a class="el" href="depth__shader__class_8cpp_source.html">depth_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 71</span>{</div>
<div class="line"><span class="lineno"> 72</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><span class="lineno"> 73</span> </div>
<div class="line"><span class="lineno"> 74</span> </div>
<div class="line"><span class="lineno"> 75</span> <span class="comment">// Set the shader parameters that it will use for rendering.</span></div>
<div class="line"><span class="lineno"> 76</span> result = set_shader_parameters(deviceContext, worldMatrix, viewMatrix, projectionMatrix, texture);</div>
<div class="line"><span class="lineno"> 77</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 78</span> {</div>
<div class="line"><span class="lineno"> 79</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Error setting shader parameters&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 80</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 81</span> }</div>
<div class="line"><span class="lineno"> 82</span> </div>
<div class="line"><span class="lineno"> 83</span> <span class="comment">// Now render the prepared buffers with the shader.</span></div>
<div class="line"><span class="lineno"> 84</span> render_shader(deviceContext, indexCount);</div>
<div class="line"><span class="lineno"> 85</span> </div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 87</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a25254dd4d620ed4d30562a626cea84cd" name="a25254dd4d620ed4d30562a626cea84cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25254dd4d620ed4d30562a626cea84cd">&#9670;&#160;</a></span>shutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void depth_shader_class::shutdown </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="depth__shader__class_8cpp_source.html#l00061">61</a> of file <a class="el" href="depth__shader__class_8cpp_source.html">depth_shader_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 62</span>{</div>
<div class="line"><span class="lineno"> 63</span> <span class="comment">// shutdown the vertex and pixel shaders as well as the related objects.</span></div>
<div class="line"><span class="lineno"> 64</span> shutdown_shader();</div>
<div class="line"><span class="lineno"> 65</span> </div>
<div class="line"><span class="lineno"> 66</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 67</span>}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>enginecustom/src/inc/shader/<a class="el" href="depth__shader__class_8h_source.html">depth_shader_class.h</a></li>
<li>enginecustom/src/src/shader/<a class="el" href="depth__shader__class_8cpp_source.html">depth_shader_class.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classdepth__shader__class.html">depth_shader_class</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classdisplay__plane__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">display_plane_class Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classdisplay__plane__class.html">display_plane_class</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>display_plane_class</b>() (defined in <a class="el" href="classdisplay__plane__class.html">display_plane_class</a>)</td><td class="entry"><a class="el" href="classdisplay__plane__class.html">display_plane_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>display_plane_class</b>(const display_plane_class &amp;) (defined in <a class="el" href="classdisplay__plane__class.html">display_plane_class</a>)</td><td class="entry"><a class="el" href="classdisplay__plane__class.html">display_plane_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetIndexCount</b>() (defined in <a class="el" href="classdisplay__plane__class.html">display_plane_class</a>)</td><td class="entry"><a class="el" href="classdisplay__plane__class.html">display_plane_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>Initialize</b>(ID3D11Device *, float, float) (defined in <a class="el" href="classdisplay__plane__class.html">display_plane_class</a>)</td><td class="entry"><a class="el" href="classdisplay__plane__class.html">display_plane_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Render</b>(ID3D11DeviceContext *) (defined in <a class="el" href="classdisplay__plane__class.html">display_plane_class</a>)</td><td class="entry"><a class="el" href="classdisplay__plane__class.html">display_plane_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>Shutdown</b>() (defined in <a class="el" href="classdisplay__plane__class.html">display_plane_class</a>)</td><td class="entry"><a class="el" href="classdisplay__plane__class.html">display_plane_class</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~display_plane_class</b>() (defined in <a class="el" href="classdisplay__plane__class.html">display_plane_class</a>)</td><td class="entry"><a class="el" href="classdisplay__plane__class.html">display_plane_class</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,320 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: display_plane_class Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classdisplay__plane__class.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classdisplay__plane__class-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">display_plane_class Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad7a6b3fa5bd4fc1f43c8fe2dd97705c4" id="r_ad7a6b3fa5bd4fc1f43c8fe2dd97705c4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad7a6b3fa5bd4fc1f43c8fe2dd97705c4">display_plane_class</a> (const <a class="el" href="classdisplay__plane__class.html">display_plane_class</a> &amp;)</td></tr>
<tr class="separator:ad7a6b3fa5bd4fc1f43c8fe2dd97705c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab01495127063d2a63b9459dc84c5127d" id="r_ab01495127063d2a63b9459dc84c5127d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab01495127063d2a63b9459dc84c5127d">Initialize</a> (ID3D11Device *, float, float)</td></tr>
<tr class="separator:ab01495127063d2a63b9459dc84c5127d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b860200e1b54dd39dac5f94efc06517" id="r_a1b860200e1b54dd39dac5f94efc06517"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1b860200e1b54dd39dac5f94efc06517">Shutdown</a> ()</td></tr>
<tr class="separator:a1b860200e1b54dd39dac5f94efc06517"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1adcd3f517c41a647a497e2e21743c8" id="r_aa1adcd3f517c41a647a497e2e21743c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa1adcd3f517c41a647a497e2e21743c8">Render</a> (ID3D11DeviceContext *)</td></tr>
<tr class="separator:aa1adcd3f517c41a647a497e2e21743c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae48f5166d28bf63827f25c619955bd49" id="r_ae48f5166d28bf63827f25c619955bd49"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae48f5166d28bf63827f25c619955bd49">GetIndexCount</a> ()</td></tr>
<tr class="separator:ae48f5166d28bf63827f25c619955bd49"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="display__plane__class_8h_source.html#l00014">14</a> of file <a class="el" href="display__plane__class_8h_source.html">display_plane_class.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ae98df4247851ffbd71e9c85cb2fc720e" name="ae98df4247851ffbd71e9c85cb2fc720e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae98df4247851ffbd71e9c85cb2fc720e">&#9670;&#160;</a></span>display_plane_class() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">display_plane_class::display_plane_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="display__plane__class_8cpp_source.html#l00004">4</a> of file <a class="el" href="display__plane__class_8cpp_source.html">display_plane_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 5</span>{</div>
<div class="line"><span class="lineno"> 6</span> m_vertexBuffer = 0;</div>
<div class="line"><span class="lineno"> 7</span> m_indexBuffer = 0;</div>
<div class="line"><span class="lineno"> 8</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad7a6b3fa5bd4fc1f43c8fe2dd97705c4" name="ad7a6b3fa5bd4fc1f43c8fe2dd97705c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7a6b3fa5bd4fc1f43c8fe2dd97705c4">&#9670;&#160;</a></span>display_plane_class() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">display_plane_class::display_plane_class </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdisplay__plane__class.html">display_plane_class</a> &amp;</td> <td class="paramname"><span class="paramname"><em>other</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="display__plane__class_8cpp_source.html#l00011">11</a> of file <a class="el" href="display__plane__class_8cpp_source.html">display_plane_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 12</span>{</div>
<div class="line"><span class="lineno"> 13</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a1945d20d4d1455f0fc12220d54f9c615" name="a1945d20d4d1455f0fc12220d54f9c615"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1945d20d4d1455f0fc12220d54f9c615">&#9670;&#160;</a></span>~display_plane_class()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">display_plane_class::~display_plane_class </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="display__plane__class_8cpp_source.html#l00016">16</a> of file <a class="el" href="display__plane__class_8cpp_source.html">display_plane_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 17</span>{</div>
<div class="line"><span class="lineno"> 18</span>}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae48f5166d28bf63827f25c619955bd49" name="ae48f5166d28bf63827f25c619955bd49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae48f5166d28bf63827f25c619955bd49">&#9670;&#160;</a></span>GetIndexCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int display_plane_class::GetIndexCount </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="display__plane__class_8cpp_source.html#l00056">56</a> of file <a class="el" href="display__plane__class_8cpp_source.html">display_plane_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 57</span>{</div>
<div class="line"><span class="lineno"> 58</span> <span class="keywordflow">return</span> m_indexCount;</div>
<div class="line"><span class="lineno"> 59</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ab01495127063d2a63b9459dc84c5127d" name="ab01495127063d2a63b9459dc84c5127d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab01495127063d2a63b9459dc84c5127d">&#9670;&#160;</a></span>Initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool display_plane_class::Initialize </td>
<td>(</td>
<td class="paramtype">ID3D11Device *</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>width</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>height</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="display__plane__class_8cpp_source.html#l00020">20</a> of file <a class="el" href="display__plane__class_8cpp_source.html">display_plane_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 21</span>{</div>
<div class="line"><span class="lineno"> 22</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Initializing display_plane_class, width: &quot;</span> + std::to_string(width) + <span class="stringliteral">&quot;, height: &quot;</span> + std::to_string(height), __FILE__, __LINE__, Logger::LogLevel::Initialize);</div>
<div class="line"><span class="lineno"> 23</span> <span class="keywordtype">bool</span> result;</div>
<div class="line"><span class="lineno"> 24</span> </div>
<div class="line"><span class="lineno"> 25</span> </div>
<div class="line"><span class="lineno"> 26</span> <span class="comment">// initialize the vertex and index buffer that hold the geometry for the button.</span></div>
<div class="line"><span class="lineno"> 27</span> result = InitializeBuffers(device, width, height);</div>
<div class="line"><span class="lineno"> 28</span> <span class="keywordflow">if</span> (!result)</div>
<div class="line"><span class="lineno"> 29</span> {</div>
<div class="line"><span class="lineno"> 30</span> <a class="code hl_function" href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a>().<a class="code hl_function" href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(<span class="stringliteral">&quot;Could not initialize buffers&quot;</span>, __FILE__, __LINE__, Logger::LogLevel::Error);</div>
<div class="line"><span class="lineno"> 31</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 32</span> }</div>
<div class="line"><span class="lineno"> 33</span> </div>
<div class="line"><span class="lineno"> 34</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 35</span>}</div>
<div class="ttc" id="aclass_logger_html_a08e3e1b899767a6d833136c9fb4f15c2"><div class="ttname"><a href="class_logger.html#a08e3e1b899767a6d833136c9fb4f15c2">Logger::Get</a></div><div class="ttdeci">static Logger &amp; Get()</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00020">Logger.h:20</a></div></div>
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="class_logger.html#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &amp;message, const std::string &amp;fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa1adcd3f517c41a647a497e2e21743c8" name="aa1adcd3f517c41a647a497e2e21743c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1adcd3f517c41a647a497e2e21743c8">&#9670;&#160;</a></span>Render()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void display_plane_class::Render </td>
<td>(</td>
<td class="paramtype">ID3D11DeviceContext *</td> <td class="paramname"><span class="paramname"><em>deviceContext</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="display__plane__class_8cpp_source.html#l00047">47</a> of file <a class="el" href="display__plane__class_8cpp_source.html">display_plane_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 48</span>{</div>
<div class="line"><span class="lineno"> 49</span> <span class="comment">// Put the vertex and index buffers on the graphics pipeline to prepare them for drawing.</span></div>
<div class="line"><span class="lineno"> 50</span> RenderBuffers(deviceContext);</div>
<div class="line"><span class="lineno"> 51</span> </div>
<div class="line"><span class="lineno"> 52</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 53</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a1b860200e1b54dd39dac5f94efc06517" name="a1b860200e1b54dd39dac5f94efc06517"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b860200e1b54dd39dac5f94efc06517">&#9670;&#160;</a></span>Shutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void display_plane_class::Shutdown </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="display__plane__class_8cpp_source.html#l00038">38</a> of file <a class="el" href="display__plane__class_8cpp_source.html">display_plane_class.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 39</span>{</div>
<div class="line"><span class="lineno"> 40</span> <span class="comment">// Release the vertex and index buffers.</span></div>
<div class="line"><span class="lineno"> 41</span> ShutdownBuffers();</div>
<div class="line"><span class="lineno"> 42</span> </div>
<div class="line"><span class="lineno"> 43</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 44</span>}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>enginecustom/src/inc/system/<a class="el" href="display__plane__class_8h_source.html">display_plane_class.h</a></li>
<li>enginecustom/src/src/system/<a class="el" href="display__plane__class_8cpp_source.html">display_plane_class.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classdisplay__plane__class.html">display_plane_class</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ecs::Component Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classecs_1_1_component.html">ecs::Component</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>Component</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_component.html#a9372874f51e5f63584d65fc378d39459">Initialize</a>()</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_component.html#a59c0f739c4ff19227e27ed7b9f6352e0">Update</a>(float deltaTime)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,223 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: ecs::Component Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classecs_1_1_component-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ecs::Component Class Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for ecs::Component:</div>
<div class="dyncontent">
<div class="center">
<img src="classecs_1_1_component.png" usemap="#ecs::Component_map" alt=""/>
<map id="ecs::Component_map" name="ecs::Component_map">
<area href="classecs_1_1_identity_component.html" alt="ecs::IdentityComponent" shape="rect" coords="0,56,161,80"/>
<area href="classecs_1_1_model_path_component.html" alt="ecs::ModelPathComponent" shape="rect" coords="171,56,332,80"/>
<area href="classecs_1_1_physics_component.html" alt="ecs::PhysicsComponent" shape="rect" coords="342,56,503,80"/>
<area href="classecs_1_1_render_component.html" alt="ecs::RenderComponent" shape="rect" coords="513,56,674,80"/>
<area href="classecs_1_1_shader_component.html" alt="ecs::ShaderComponent" shape="rect" coords="684,56,845,80"/>
<area href="classecs_1_1_transform_component.html" alt="ecs::TransformComponent" shape="rect" coords="855,56,1016,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8dbee43fa54890ad07145aa1160b0b09" id="r_a8dbee43fa54890ad07145aa1160b0b09"><td class="memItemLeft" align="right" valign="top"><a id="a8dbee43fa54890ad07145aa1160b0b09" name="a8dbee43fa54890ad07145aa1160b0b09"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a8dbee43fa54890ad07145aa1160b0b09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34000da33471994c2550e416505026ad" id="r_a34000da33471994c2550e416505026ad"><td class="memItemLeft" align="right" valign="top"><a id="a34000da33471994c2550e416505026ad" name="a34000da33471994c2550e416505026ad"></a>
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a34000da33471994c2550e416505026ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a213cfa3482dca1ffc458b9cf020b4814" id="r_a213cfa3482dca1ffc458b9cf020b4814"><td class="memItemLeft" align="right" valign="top"><a id="a213cfa3482dca1ffc458b9cf020b4814" name="a213cfa3482dca1ffc458b9cf020b4814"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a213cfa3482dca1ffc458b9cf020b4814"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8089d7e43f9ac2a6eedd3b0598c46694" id="r_a8089d7e43f9ac2a6eedd3b0598c46694"><td class="memItemLeft" align="right" valign="top"><a id="a8089d7e43f9ac2a6eedd3b0598c46694" name="a8089d7e43f9ac2a6eedd3b0598c46694"></a>
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a8089d7e43f9ac2a6eedd3b0598c46694"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9372874f51e5f63584d65fc378d39459" id="r_a9372874f51e5f63584d65fc378d39459"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9372874f51e5f63584d65fc378d39459">Initialize</a> ()</td></tr>
<tr class="separator:a9372874f51e5f63584d65fc378d39459"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59c0f739c4ff19227e27ed7b9f6352e0" id="r_a59c0f739c4ff19227e27ed7b9f6352e0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a59c0f739c4ff19227e27ed7b9f6352e0">Update</a> (float deltaTime)</td></tr>
<tr class="separator:a59c0f739c4ff19227e27ed7b9f6352e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="component_8h_source.html#l00012">12</a> of file <a class="el" href="component_8h_source.html">component.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a9372874f51e5f63584d65fc378d39459" name="a9372874f51e5f63584d65fc378d39459"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9372874f51e5f63584d65fc378d39459">&#9670;&#160;</a></span>Initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void ecs::Component::Initialize </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Virtual function to initialize the component. </p>
<p>Reimplemented in <a class="el" href="classecs_1_1_identity_component.html#a04b2bb43ccf6c4842704f30463033b3b">ecs::IdentityComponent</a>, <a class="el" href="classecs_1_1_model_path_component.html#a8819a3be58b6748ced6763a598e2f7f8">ecs::ModelPathComponent</a>, <a class="el" href="classecs_1_1_physics_component.html#ab58952fc61030f1047beb2d6dbec82cf">ecs::PhysicsComponent</a>, <a class="el" href="classecs_1_1_render_component.html#aa92950c4ebad0379f626493bda1a79bb">ecs::RenderComponent</a>, and <a class="el" href="classecs_1_1_shader_component.html#a69a5ca163458465936525b14270fe46e">ecs::ShaderComponent</a>.</p>
<p class="definition">Definition at line <a class="el" href="component_8h_source.html#l00028">28</a> of file <a class="el" href="component_8h_source.html">component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 28</span>{}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a59c0f739c4ff19227e27ed7b9f6352e0" name="a59c0f739c4ff19227e27ed7b9f6352e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59c0f739c4ff19227e27ed7b9f6352e0">&#9670;&#160;</a></span>Update()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void ecs::Component::Update </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>deltaTime</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Virtual function to update the component. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deltaTime</td><td>Time since the last update. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented in <a class="el" href="classecs_1_1_model_path_component.html#a64d1c1fa22bb222e6c85f5312ea8795b">ecs::ModelPathComponent</a>, <a class="el" href="classecs_1_1_physics_component.html#a83aaa878464b8ef2dbc0e7a927689d79">ecs::PhysicsComponent</a>, <a class="el" href="classecs_1_1_render_component.html#a6cfff9944a89629f5f7a7d1451446f0d">ecs::RenderComponent</a>, and <a class="el" href="classecs_1_1_shader_component.html#a2ebc1ef592626fc729884677c771ccbf">ecs::ShaderComponent</a>.</p>
<p class="definition">Definition at line <a class="el" href="component_8h_source.html#l00034">34</a> of file <a class="el" href="component_8h_source.html">component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 34</span>{}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>enginecustom/src/inc/system/ecs/<a class="el" href="component_8h_source.html">component.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceecs.html">ecs</a></li><li class="navelem"><a class="el" href="classecs_1_1_component.html">Component</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,5 @@
var classecs_1_1_component =
[
[ "Initialize", "classecs_1_1_component.html#a9372874f51e5f63584d65fc378d39459", null ],
[ "Update", "classecs_1_1_component.html#a59c0f739c4ff19227e27ed7b9f6352e0", null ]
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,126 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_entity.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ecs::Entity Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classecs_1_1_entity.html">ecs::Entity</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_entity.html#a240b05cecbe32a6222082f3b4a789a98">AddComponent</a>(Args &amp;&amp;... args)</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_entity.html#aa505e8d9a076bd37b83e319c33a8fb3e">Entity</a>(EntityID id)</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_entity.html#a1cace49b2034c62e076d8e5354a1e15f">Entity</a>(const Entity &amp;)=delete</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_entity.html#a318d92a576baeaf8d684fd9ee400ebe8">Entity</a>(Entity &amp;&amp;)=default</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_entity.html#a1debe96608ed65b741812a9340c52220">GetComponent</a>()</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_entity.html#a9fab84a0393816b3a911588fc1f7121a">GetID</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_entity.html#a29deb83cc77c7c2466d0f76f7b340869">HasComponent</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(const Entity &amp;)=delete (defined in <a class="el" href="classecs_1_1_entity.html">ecs::Entity</a>)</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(Entity &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_entity.html">ecs::Entity</a>)</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_entity.html#a87fe0ec023ff9df7bcfff0eb13a90bb7">RemoveComponent</a>()</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_entity.html#a239d0855906f8c66371d7d1fa895a11f">UpdateComponents</a>(float deltaTime)</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~Entity</b>()=default (defined in <a class="el" href="classecs_1_1_entity.html">ecs::Entity</a>)</td><td class="entry"><a class="el" href="classecs_1_1_entity.html">ecs::Entity</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,501 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: ecs::Entity Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_entity.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classecs_1_1_entity-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ecs::Entity Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa505e8d9a076bd37b83e319c33a8fb3e" id="r_aa505e8d9a076bd37b83e319c33a8fb3e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa505e8d9a076bd37b83e319c33a8fb3e">Entity</a> (<a class="el" href="namespaceecs.html#af256e267ca18f2601f8e804fd95e9358">EntityID</a> id)</td></tr>
<tr class="separator:aa505e8d9a076bd37b83e319c33a8fb3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cace49b2034c62e076d8e5354a1e15f" id="r_a1cace49b2034c62e076d8e5354a1e15f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1cace49b2034c62e076d8e5354a1e15f">Entity</a> (const <a class="el" href="classecs_1_1_entity.html">Entity</a> &amp;)=delete</td></tr>
<tr class="separator:a1cace49b2034c62e076d8e5354a1e15f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bd59cabe7c8c51043b00b356c1984e4" id="r_a5bd59cabe7c8c51043b00b356c1984e4"><td class="memItemLeft" align="right" valign="top"><a id="a5bd59cabe7c8c51043b00b356c1984e4" name="a5bd59cabe7c8c51043b00b356c1984e4"></a>
<a class="el" href="classecs_1_1_entity.html">Entity</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classecs_1_1_entity.html">Entity</a> &amp;)=delete</td></tr>
<tr class="separator:a5bd59cabe7c8c51043b00b356c1984e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a318d92a576baeaf8d684fd9ee400ebe8" id="r_a318d92a576baeaf8d684fd9ee400ebe8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a318d92a576baeaf8d684fd9ee400ebe8">Entity</a> (<a class="el" href="classecs_1_1_entity.html">Entity</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a318d92a576baeaf8d684fd9ee400ebe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48a1caf075057339ecf0d3637e942875" id="r_a48a1caf075057339ecf0d3637e942875"><td class="memItemLeft" align="right" valign="top"><a id="a48a1caf075057339ecf0d3637e942875" name="a48a1caf075057339ecf0d3637e942875"></a>
<a class="el" href="classecs_1_1_entity.html">Entity</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classecs_1_1_entity.html">Entity</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a48a1caf075057339ecf0d3637e942875"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fab84a0393816b3a911588fc1f7121a" id="r_a9fab84a0393816b3a911588fc1f7121a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceecs.html#af256e267ca18f2601f8e804fd95e9358">EntityID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9fab84a0393816b3a911588fc1f7121a">GetID</a> () const</td></tr>
<tr class="separator:a9fab84a0393816b3a911588fc1f7121a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a240b05cecbe32a6222082f3b4a789a98" id="r_a240b05cecbe32a6222082f3b4a789a98"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Args&gt; </td></tr>
<tr class="memitem:a240b05cecbe32a6222082f3b4a789a98"><td class="memTemplItemLeft" align="right" valign="top">std::shared_ptr&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a240b05cecbe32a6222082f3b4a789a98">AddComponent</a> (Args &amp;&amp;... args)</td></tr>
<tr class="separator:a240b05cecbe32a6222082f3b4a789a98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1debe96608ed65b741812a9340c52220" id="r_a1debe96608ed65b741812a9340c52220"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a1debe96608ed65b741812a9340c52220"><td class="memTemplItemLeft" align="right" valign="top">std::shared_ptr&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a1debe96608ed65b741812a9340c52220">GetComponent</a> ()</td></tr>
<tr class="separator:a1debe96608ed65b741812a9340c52220"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29deb83cc77c7c2466d0f76f7b340869" id="r_a29deb83cc77c7c2466d0f76f7b340869"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a29deb83cc77c7c2466d0f76f7b340869"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a29deb83cc77c7c2466d0f76f7b340869">HasComponent</a> () const</td></tr>
<tr class="separator:a29deb83cc77c7c2466d0f76f7b340869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87fe0ec023ff9df7bcfff0eb13a90bb7" id="r_a87fe0ec023ff9df7bcfff0eb13a90bb7"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a87fe0ec023ff9df7bcfff0eb13a90bb7"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a87fe0ec023ff9df7bcfff0eb13a90bb7">RemoveComponent</a> ()</td></tr>
<tr class="separator:a87fe0ec023ff9df7bcfff0eb13a90bb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a239d0855906f8c66371d7d1fa895a11f" id="r_a239d0855906f8c66371d7d1fa895a11f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a239d0855906f8c66371d7d1fa895a11f">UpdateComponents</a> (float deltaTime)</td></tr>
<tr class="separator:a239d0855906f8c66371d7d1fa895a11f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="entity_8h_source.html#l00015">15</a> of file <a class="el" href="entity_8h_source.html">entity.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aa505e8d9a076bd37b83e319c33a8fb3e" name="aa505e8d9a076bd37b83e319c33a8fb3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa505e8d9a076bd37b83e319c33a8fb3e">&#9670;&#160;</a></span>Entity() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::Entity::Entity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceecs.html#af256e267ca18f2601f8e804fd95e9358">EntityID</a></td> <td class="paramname"><span class="paramname"><em>id</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Builder for an <a class="el" href="classecs_1_1_entity.html">Entity</a> with a unique ID. </p>
<p class="definition">Definition at line <a class="el" href="entity_8h_source.html#l00020">20</a> of file <a class="el" href="entity_8h_source.html">entity.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 20</span>: m_ID(<span class="keywordtype">id</span>) {}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a1cace49b2034c62e076d8e5354a1e15f" name="a1cace49b2034c62e076d8e5354a1e15f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1cace49b2034c62e076d8e5354a1e15f">&#9670;&#160;</a></span>Entity() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::Entity::Entity </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classecs_1_1_entity.html">Entity</a> &amp;</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>No copy constructor or assignment operator to prevent copying. </p>
</div>
</div>
<a id="a318d92a576baeaf8d684fd9ee400ebe8" name="a318d92a576baeaf8d684fd9ee400ebe8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a318d92a576baeaf8d684fd9ee400ebe8">&#9670;&#160;</a></span>Entity() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::Entity::Entity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classecs_1_1_entity.html">Entity</a> &amp;&amp;</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move constructor and assignment operator to allow moving entities. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a240b05cecbe32a6222082f3b4a789a98" name="a240b05cecbe32a6222082f3b4a789a98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a240b05cecbe32a6222082f3b4a789a98">&#9670;&#160;</a></span>AddComponent()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename... Args&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; T &gt; ecs::Entity::AddComponent </td>
<td>(</td>
<td class="paramtype">Args &amp;&amp;...</td> <td class="paramname"><span class="paramname"><em>args</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a component of type T to the entity. If the component already exists, it returns the existing component. </p><dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">args</td><td>Arguments to construct the component. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to the added or existing component. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_8h_source.html#l00049">49</a> of file <a class="el" href="entity_8h_source.html">entity.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 49</span> {</div>
<div class="line"><span class="lineno"> 50</span> <span class="keyword">static_assert</span>(std::is_base_of&lt;Component, T&gt;::value, <span class="stringliteral">&quot;T must derive from Component&quot;</span>);</div>
<div class="line"><span class="lineno"> 51</span> </div>
<div class="line"><span class="lineno"> 52</span> <a class="code hl_typedef" href="namespaceecs.html#a94d754c47297d56ce57eb14784809efc">ComponentTypeID</a> typeID = <a class="code hl_function" href="namespaceecs.html#ae98a9f77225416bebd93a559a68a92eb">GetComponentTypeID&lt;T&gt;</a>();</div>
<div class="line"><span class="lineno"> 53</span> </div>
<div class="line"><span class="lineno"> 54</span> <span class="comment">// V<>rifier si le composant existe d<>j<EFBFBD></span></div>
<div class="line"><span class="lineno"> 55</span> <span class="keywordflow">if</span> (m_Components.find(typeID) != m_Components.end()) {</div>
<div class="line"><span class="lineno"> 56</span> <span class="keywordflow">return</span> std::static_pointer_cast&lt;T&gt;(m_Components[typeID]);</div>
<div class="line"><span class="lineno"> 57</span> }</div>
<div class="line"><span class="lineno"> 58</span> </div>
<div class="line"><span class="lineno"> 59</span> <span class="comment">// Cr<43>er et ajouter le composant</span></div>
<div class="line"><span class="lineno"> 60</span> <span class="keyword">auto</span> component = std::make_shared&lt;T&gt;(std::forward&lt;Args&gt;(args)...);</div>
<div class="line"><span class="lineno"> 61</span> m_Components[typeID] = component;</div>
<div class="line"><span class="lineno"> 62</span> </div>
<div class="line"><span class="lineno"> 63</span> <span class="comment">// Initialiser le composant</span></div>
<div class="line"><span class="lineno"> 64</span> component-&gt;Initialize();</div>
<div class="line"><span class="lineno"> 65</span> </div>
<div class="line"><span class="lineno"> 66</span> <span class="keywordflow">return</span> component;</div>
<div class="line"><span class="lineno"> 67</span> }</div>
<div class="ttc" id="anamespaceecs_html_a94d754c47297d56ce57eb14784809efc"><div class="ttname"><a href="namespaceecs.html#a94d754c47297d56ce57eb14784809efc">ecs::ComponentTypeID</a></div><div class="ttdeci">std::type_index ComponentTypeID</div><div class="ttdef"><b>Definition</b> <a href="component_8h_source.html#l00048">component.h:48</a></div></div>
<div class="ttc" id="anamespaceecs_html_ae98a9f77225416bebd93a559a68a92eb"><div class="ttname"><a href="namespaceecs.html#ae98a9f77225416bebd93a559a68a92eb">ecs::GetComponentTypeID</a></div><div class="ttdeci">ComponentTypeID GetComponentTypeID()</div><div class="ttdef"><b>Definition</b> <a href="component_8h_source.html#l00054">component.h:54</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a1debe96608ed65b741812a9340c52220" name="a1debe96608ed65b741812a9340c52220"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1debe96608ed65b741812a9340c52220">&#9670;&#160;</a></span>GetComponent()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; T &gt; ecs::Entity::GetComponent </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a component of type T from the entity. </p><dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to the component if it exists, nullptr otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_8h_source.html#l00075">75</a> of file <a class="el" href="entity_8h_source.html">entity.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 75</span> {</div>
<div class="line"><span class="lineno"> 76</span> <span class="keyword">static_assert</span>(std::is_base_of&lt;Component, T&gt;::value, <span class="stringliteral">&quot;T must derive from Component&quot;</span>);</div>
<div class="line"><span class="lineno"> 77</span> </div>
<div class="line"><span class="lineno"> 78</span> <a class="code hl_typedef" href="namespaceecs.html#a94d754c47297d56ce57eb14784809efc">ComponentTypeID</a> typeID = <a class="code hl_function" href="namespaceecs.html#ae98a9f77225416bebd93a559a68a92eb">GetComponentTypeID&lt;T&gt;</a>();</div>
<div class="line"><span class="lineno"> 79</span> </div>
<div class="line"><span class="lineno"> 80</span> <span class="keyword">auto</span> it = m_Components.find(typeID);</div>
<div class="line"><span class="lineno"> 81</span> <span class="keywordflow">if</span> (it != m_Components.end()) {</div>
<div class="line"><span class="lineno"> 82</span> <span class="keywordflow">return</span> std::static_pointer_cast&lt;T&gt;(it-&gt;second);</div>
<div class="line"><span class="lineno"> 83</span> }</div>
<div class="line"><span class="lineno"> 84</span> </div>
<div class="line"><span class="lineno"> 85</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 86</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a9fab84a0393816b3a911588fc1f7121a" name="a9fab84a0393816b3a911588fc1f7121a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fab84a0393816b3a911588fc1f7121a">&#9670;&#160;</a></span>GetID()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceecs.html#af256e267ca18f2601f8e804fd95e9358">EntityID</a> ecs::Entity::GetID </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the unique identifier for the entity. </p><dl class="section return"><dt>Returns</dt><dd>The unique ID of the entity. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_8h_source.html#l00039">39</a> of file <a class="el" href="entity_8h_source.html">entity.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 39</span>{ <span class="keywordflow">return</span> m_ID; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a29deb83cc77c7c2466d0f76f7b340869" name="a29deb83cc77c7c2466d0f76f7b340869"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29deb83cc77c7c2466d0f76f7b340869">&#9670;&#160;</a></span>HasComponent()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ecs::Entity::HasComponent </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if the entity has a component of type T. </p><dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the entity has the component, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity_8h_source.html#l00094">94</a> of file <a class="el" href="entity_8h_source.html">entity.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 94</span> {</div>
<div class="line"><span class="lineno"> 95</span> <span class="keyword">static_assert</span>(std::is_base_of&lt;Component, T&gt;::value, <span class="stringliteral">&quot;T must derive from Component&quot;</span>);</div>
<div class="line"><span class="lineno"> 96</span> </div>
<div class="line"><span class="lineno"> 97</span> <a class="code hl_typedef" href="namespaceecs.html#a94d754c47297d56ce57eb14784809efc">ComponentTypeID</a> typeID = <a class="code hl_function" href="namespaceecs.html#ae98a9f77225416bebd93a559a68a92eb">GetComponentTypeID&lt;T&gt;</a>();</div>
<div class="line"><span class="lineno"> 98</span> <span class="keywordflow">return</span> m_Components.find(typeID) != m_Components.end();</div>
<div class="line"><span class="lineno"> 99</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a87fe0ec023ff9df7bcfff0eb13a90bb7" name="a87fe0ec023ff9df7bcfff0eb13a90bb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87fe0ec023ff9df7bcfff0eb13a90bb7">&#9670;&#160;</a></span>RemoveComponent()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::Entity::RemoveComponent </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove a component of type T from the entity. </p><dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="entity_8h_source.html#l00106">106</a> of file <a class="el" href="entity_8h_source.html">entity.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 106</span> {</div>
<div class="line"><span class="lineno"> 107</span> <span class="keyword">static_assert</span>(std::is_base_of&lt;Component, T&gt;::value, <span class="stringliteral">&quot;T must derive from Component&quot;</span>);</div>
<div class="line"><span class="lineno"> 108</span> </div>
<div class="line"><span class="lineno"> 109</span> <a class="code hl_typedef" href="namespaceecs.html#a94d754c47297d56ce57eb14784809efc">ComponentTypeID</a> typeID = <a class="code hl_function" href="namespaceecs.html#ae98a9f77225416bebd93a559a68a92eb">GetComponentTypeID&lt;T&gt;</a>();</div>
<div class="line"><span class="lineno"> 110</span> <span class="keyword">auto</span> it = m_Components.find(typeID);</div>
<div class="line"><span class="lineno"> 111</span> </div>
<div class="line"><span class="lineno"> 112</span> <span class="keywordflow">if</span> (it != m_Components.end()) {</div>
<div class="line"><span class="lineno"> 113</span> m_Components.erase(it);</div>
<div class="line"><span class="lineno"> 114</span> }</div>
<div class="line"><span class="lineno"> 115</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a239d0855906f8c66371d7d1fa895a11f" name="a239d0855906f8c66371d7d1fa895a11f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a239d0855906f8c66371d7d1fa895a11f">&#9670;&#160;</a></span>UpdateComponents()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::Entity::UpdateComponents </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>deltaTime</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Update all components of the entity. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deltaTime</td><td></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="entity_8h_source.html#l00121">121</a> of file <a class="el" href="entity_8h_source.html">entity.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 121</span> {</div>
<div class="line"><span class="lineno"> 122</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; [typeID, component] : m_Components) {</div>
<div class="line"><span class="lineno"> 123</span> component-&gt;Update(deltaTime);</div>
<div class="line"><span class="lineno"> 124</span> }</div>
<div class="line"><span class="lineno"> 125</span> }</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>enginecustom/src/inc/system/ecs/<a class="el" href="entity_8h_source.html">entity.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceecs.html">ecs</a></li><li class="navelem"><a class="el" href="classecs_1_1_entity.html">Entity</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,12 @@
var classecs_1_1_entity =
[
[ "Entity", "classecs_1_1_entity.html#aa505e8d9a076bd37b83e319c33a8fb3e", null ],
[ "Entity", "classecs_1_1_entity.html#a1cace49b2034c62e076d8e5354a1e15f", null ],
[ "Entity", "classecs_1_1_entity.html#a318d92a576baeaf8d684fd9ee400ebe8", null ],
[ "AddComponent", "classecs_1_1_entity.html#a240b05cecbe32a6222082f3b4a789a98", null ],
[ "GetComponent", "classecs_1_1_entity.html#a1debe96608ed65b741812a9340c52220", null ],
[ "GetID", "classecs_1_1_entity.html#a9fab84a0393816b3a911588fc1f7121a", null ],
[ "HasComponent", "classecs_1_1_entity.html#a29deb83cc77c7c2466d0f76f7b340869", null ],
[ "RemoveComponent", "classecs_1_1_entity.html#a87fe0ec023ff9df7bcfff0eb13a90bb7", null ],
[ "UpdateComponents", "classecs_1_1_entity.html#a239d0855906f8c66371d7d1fa895a11f", null ]
];

View File

@@ -0,0 +1,124 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_entity_manager.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ecs::EntityManager Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html#a6c31a8b7c0a01e473566fd801db91a55">Clear</a>()</td><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html#a696dcb2fd36215b0a9214880d21033a2">CreateEntity</a>()</td><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html#a4cb0da19e3a95b7cb1390843882176a9">DestroyEntity</a>(EntityID id)</td><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html#acba3847d62f7cd79e22d5ffa490c1f53">EntityManager</a>()</td><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html#ad4116858dc1c324cdd558e5ac6c7f21b">GetAllEntities</a>()</td><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html#a42887acde34ab3d1cd13c0396b053d72">GetEntitiesWithComponent</a>()</td><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html#a79acf6578756702d83d509dbf1fce0d8">GetEntity</a>(EntityID id)</td><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html#ad84a022bfad4f381179c1e007d7c9c8a">GetEntityCount</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html#aac0b39f03cc669d8bc8f3073daa2079c">UpdateEntities</a>(float deltaTime)</td><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~EntityManager</b>()=default (defined in <a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a>)</td><td class="entry"><a class="el" href="classecs_1_1_entity_manager.html">ecs::EntityManager</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,496 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: ecs::EntityManager Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_entity_manager.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classecs_1_1_entity_manager-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ecs::EntityManager Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:acba3847d62f7cd79e22d5ffa490c1f53" id="r_acba3847d62f7cd79e22d5ffa490c1f53"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acba3847d62f7cd79e22d5ffa490c1f53">EntityManager</a> ()</td></tr>
<tr class="memdesc:acba3847d62f7cd79e22d5ffa490c1f53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type pour l'ID d'une entit<69>. <br /></td></tr>
<tr class="separator:acba3847d62f7cd79e22d5ffa490c1f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a696dcb2fd36215b0a9214880d21033a2" id="r_a696dcb2fd36215b0a9214880d21033a2"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classecs_1_1_entity.html">Entity</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a696dcb2fd36215b0a9214880d21033a2">CreateEntity</a> ()</td></tr>
<tr class="separator:a696dcb2fd36215b0a9214880d21033a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cb0da19e3a95b7cb1390843882176a9" id="r_a4cb0da19e3a95b7cb1390843882176a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4cb0da19e3a95b7cb1390843882176a9">DestroyEntity</a> (<a class="el" href="namespaceecs.html#af256e267ca18f2601f8e804fd95e9358">EntityID</a> id)</td></tr>
<tr class="separator:a4cb0da19e3a95b7cb1390843882176a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79acf6578756702d83d509dbf1fce0d8" id="r_a79acf6578756702d83d509dbf1fce0d8"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classecs_1_1_entity.html">Entity</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a79acf6578756702d83d509dbf1fce0d8">GetEntity</a> (<a class="el" href="namespaceecs.html#af256e267ca18f2601f8e804fd95e9358">EntityID</a> id)</td></tr>
<tr class="separator:a79acf6578756702d83d509dbf1fce0d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac0b39f03cc669d8bc8f3073daa2079c" id="r_aac0b39f03cc669d8bc8f3073daa2079c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aac0b39f03cc669d8bc8f3073daa2079c">UpdateEntities</a> (float deltaTime)</td></tr>
<tr class="separator:aac0b39f03cc669d8bc8f3073daa2079c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4116858dc1c324cdd558e5ac6c7f21b" id="r_ad4116858dc1c324cdd558e5ac6c7f21b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::shared_ptr&lt; <a class="el" href="classecs_1_1_entity.html">Entity</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad4116858dc1c324cdd558e5ac6c7f21b">GetAllEntities</a> ()</td></tr>
<tr class="separator:ad4116858dc1c324cdd558e5ac6c7f21b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42887acde34ab3d1cd13c0396b053d72" id="r_a42887acde34ab3d1cd13c0396b053d72"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a42887acde34ab3d1cd13c0396b053d72"><td class="memTemplItemLeft" align="right" valign="top">std::vector&lt; std::shared_ptr&lt; <a class="el" href="classecs_1_1_entity.html">Entity</a> &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a42887acde34ab3d1cd13c0396b053d72">GetEntitiesWithComponent</a> ()</td></tr>
<tr class="separator:a42887acde34ab3d1cd13c0396b053d72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad84a022bfad4f381179c1e007d7c9c8a" id="r_ad84a022bfad4f381179c1e007d7c9c8a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad84a022bfad4f381179c1e007d7c9c8a">GetEntityCount</a> () const</td></tr>
<tr class="separator:ad84a022bfad4f381179c1e007d7c9c8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c31a8b7c0a01e473566fd801db91a55" id="r_a6c31a8b7c0a01e473566fd801db91a55"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6c31a8b7c0a01e473566fd801db91a55">Clear</a> ()</td></tr>
<tr class="separator:a6c31a8b7c0a01e473566fd801db91a55"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="entity__manager_8h_source.html#l00009">9</a> of file <a class="el" href="entity__manager_8h_source.html">entity_manager.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="acba3847d62f7cd79e22d5ffa490c1f53" name="acba3847d62f7cd79e22d5ffa490c1f53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acba3847d62f7cd79e22d5ffa490c1f53">&#9670;&#160;</a></span>EntityManager()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::EntityManager::EntityManager </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Type pour l'ID d'une entit<69>. </p>
<p class="definition">Definition at line <a class="el" href="entity__manager_8h_source.html#l00015">15</a> of file <a class="el" href="entity__manager_8h_source.html">entity_manager.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 15</span>: m_NextEntityID(0) {}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a6c31a8b7c0a01e473566fd801db91a55" name="a6c31a8b7c0a01e473566fd801db91a55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c31a8b7c0a01e473566fd801db91a55">&#9670;&#160;</a></span>Clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::EntityManager::Clear </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear all entities and reset the <a class="el" href="classecs_1_1_entity_manager.html">EntityManager</a>. This will remove all entities and free their IDs for future use. </p>
<p class="definition">Definition at line <a class="el" href="entity__manager_8h_source.html#l00121">121</a> of file <a class="el" href="entity__manager_8h_source.html">entity_manager.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 121</span> {</div>
<div class="line"><span class="lineno"> 122</span> m_Entities.clear();</div>
<div class="line"><span class="lineno"> 123</span> </div>
<div class="line"><span class="lineno"> 124</span> <span class="comment">// Vider la file des IDs libres</span></div>
<div class="line"><span class="lineno"> 125</span> std::queue&lt;EntityID&gt; empty;</div>
<div class="line"><span class="lineno"> 126</span> std::swap(m_FreeIDs, empty);</div>
<div class="line"><span class="lineno"> 127</span> </div>
<div class="line"><span class="lineno"> 128</span> m_NextEntityID = 0;</div>
<div class="line"><span class="lineno"> 129</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a696dcb2fd36215b0a9214880d21033a2" name="a696dcb2fd36215b0a9214880d21033a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a696dcb2fd36215b0a9214880d21033a2">&#9670;&#160;</a></span>CreateEntity()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="classecs_1_1_entity.html">Entity</a> &gt; ecs::EntityManager::CreateEntity </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new entity. </p><dl class="section return"><dt>Returns</dt><dd>A shared pointer to the newly created entity. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity__manager_8h_source.html#l00022">22</a> of file <a class="el" href="entity__manager_8h_source.html">entity_manager.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 22</span> {</div>
<div class="line"><span class="lineno"> 23</span> <a class="code hl_typedef" href="namespaceecs.html#af256e267ca18f2601f8e804fd95e9358">EntityID</a> id;</div>
<div class="line"><span class="lineno"> 24</span> </div>
<div class="line"><span class="lineno"> 25</span> <span class="comment">// R<>utiliser les IDs des entit<69>s supprim<69>es si possible</span></div>
<div class="line"><span class="lineno"> 26</span> <span class="keywordflow">if</span> (!m_FreeIDs.empty()) {</div>
<div class="line"><span class="lineno"> 27</span> <span class="keywordtype">id</span> = m_FreeIDs.front();</div>
<div class="line"><span class="lineno"> 28</span> m_FreeIDs.pop();</div>
<div class="line"><span class="lineno"> 29</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><span class="lineno"> 30</span> <span class="keywordtype">id</span> = m_NextEntityID++;</div>
<div class="line"><span class="lineno"> 31</span> }</div>
<div class="line"><span class="lineno"> 32</span> </div>
<div class="line"><span class="lineno"> 33</span> <span class="keyword">auto</span> entity = std::make_shared&lt;Entity&gt;(<span class="keywordtype">id</span>);</div>
<div class="line"><span class="lineno"> 34</span> m_Entities[id] = entity;</div>
<div class="line"><span class="lineno"> 35</span> </div>
<div class="line"><span class="lineno"> 36</span> <span class="keywordflow">return</span> entity;</div>
<div class="line"><span class="lineno"> 37</span> }</div>
<div class="ttc" id="anamespaceecs_html_af256e267ca18f2601f8e804fd95e9358"><div class="ttname"><a href="namespaceecs.html#af256e267ca18f2601f8e804fd95e9358">ecs::EntityID</a></div><div class="ttdeci">uint32_t EntityID</div><div class="ttdef"><b>Definition</b> <a href="entity_8h_source.html#l00013">entity.h:13</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a4cb0da19e3a95b7cb1390843882176a9" name="a4cb0da19e3a95b7cb1390843882176a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cb0da19e3a95b7cb1390843882176a9">&#9670;&#160;</a></span>DestroyEntity()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::EntityManager::DestroyEntity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceecs.html#af256e267ca18f2601f8e804fd95e9358">EntityID</a></td> <td class="paramname"><span class="paramname"><em>id</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Destroy an entity by its ID and recycle its ID for future use. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>The ID of the entity to destroy. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="entity__manager_8h_source.html#l00043">43</a> of file <a class="el" href="entity__manager_8h_source.html">entity_manager.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 43</span> {</div>
<div class="line"><span class="lineno"> 44</span> <span class="keyword">auto</span> it = m_Entities.find(<span class="keywordtype">id</span>);</div>
<div class="line"><span class="lineno"> 45</span> <span class="keywordflow">if</span> (it != m_Entities.end()) {</div>
<div class="line"><span class="lineno"> 46</span> m_Entities.erase(it);</div>
<div class="line"><span class="lineno"> 47</span> m_FreeIDs.push(<span class="keywordtype">id</span>); <span class="comment">// Recycler l&#39;ID</span></div>
<div class="line"><span class="lineno"> 48</span> }</div>
<div class="line"><span class="lineno"> 49</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad4116858dc1c324cdd558e5ac6c7f21b" name="ad4116858dc1c324cdd558e5ac6c7f21b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4116858dc1c324cdd558e5ac6c7f21b">&#9670;&#160;</a></span>GetAllEntities()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; std::shared_ptr&lt; <a class="el" href="classecs_1_1_entity.html">Entity</a> &gt; &gt; ecs::EntityManager::GetAllEntities </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get all entities managed by the <a class="el" href="classecs_1_1_entity_manager.html">EntityManager</a>. </p><dl class="section return"><dt>Returns</dt><dd>A vector of shared pointers to all entities. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity__manager_8h_source.html#l00078">78</a> of file <a class="el" href="entity__manager_8h_source.html">entity_manager.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 78</span> {</div>
<div class="line"><span class="lineno"> 79</span> std::vector&lt;std::shared_ptr&lt;Entity&gt;&gt; result;</div>
<div class="line"><span class="lineno"> 80</span> result.reserve(m_Entities.size());</div>
<div class="line"><span class="lineno"> 81</span> </div>
<div class="line"><span class="lineno"> 82</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; [<span class="keywordtype">id</span>, entity] : m_Entities) {</div>
<div class="line"><span class="lineno"> 83</span> result.push_back(entity);</div>
<div class="line"><span class="lineno"> 84</span> }</div>
<div class="line"><span class="lineno"> 85</span> </div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><span class="lineno"> 87</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a42887acde34ab3d1cd13c0396b053d72" name="a42887acde34ab3d1cd13c0396b053d72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42887acde34ab3d1cd13c0396b053d72">&#9670;&#160;</a></span>GetEntitiesWithComponent()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; std::shared_ptr&lt; <a class="el" href="classecs_1_1_entity.html">Entity</a> &gt; &gt; ecs::EntityManager::GetEntitiesWithComponent </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get all entities that have a specific component type. </p><dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>The component type to filter entities by. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A vector of shared pointers to entities that have the specified component. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity__manager_8h_source.html#l00095">95</a> of file <a class="el" href="entity__manager_8h_source.html">entity_manager.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 95</span> {</div>
<div class="line"><span class="lineno"> 96</span> <span class="keyword">static_assert</span>(std::is_base_of&lt;Component, T&gt;::value, <span class="stringliteral">&quot;T must derive from Component&quot;</span>);</div>
<div class="line"><span class="lineno"> 97</span> </div>
<div class="line"><span class="lineno"> 98</span> std::vector&lt;std::shared_ptr&lt;Entity&gt;&gt; result;</div>
<div class="line"><span class="lineno"> 99</span> </div>
<div class="line"><span class="lineno"> 100</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; [<span class="keywordtype">id</span>, entity] : m_Entities) {</div>
<div class="line"><span class="lineno"> 101</span> <span class="keywordflow">if</span> (entity-&gt;HasComponent&lt;T&gt;()) {</div>
<div class="line"><span class="lineno"> 102</span> result.push_back(entity);</div>
<div class="line"><span class="lineno"> 103</span> }</div>
<div class="line"><span class="lineno"> 104</span> }</div>
<div class="line"><span class="lineno"> 105</span> </div>
<div class="line"><span class="lineno"> 106</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><span class="lineno"> 107</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a79acf6578756702d83d509dbf1fce0d8" name="a79acf6578756702d83d509dbf1fce0d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79acf6578756702d83d509dbf1fce0d8">&#9670;&#160;</a></span>GetEntity()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="classecs_1_1_entity.html">Entity</a> &gt; ecs::EntityManager::GetEntity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceecs.html#af256e267ca18f2601f8e804fd95e9358">EntityID</a></td> <td class="paramname"><span class="paramname"><em>id</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get an entity by its ID. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>The ID of the entity to retrieve. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to the entity, or nullptr if it does not exist. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity__manager_8h_source.html#l00056">56</a> of file <a class="el" href="entity__manager_8h_source.html">entity_manager.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 56</span> {</div>
<div class="line"><span class="lineno"> 57</span> <span class="keyword">auto</span> it = m_Entities.find(<span class="keywordtype">id</span>);</div>
<div class="line"><span class="lineno"> 58</span> <span class="keywordflow">if</span> (it != m_Entities.end()) {</div>
<div class="line"><span class="lineno"> 59</span> <span class="keywordflow">return</span> it-&gt;second;</div>
<div class="line"><span class="lineno"> 60</span> }</div>
<div class="line"><span class="lineno"> 61</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 62</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad84a022bfad4f381179c1e007d7c9c8a" name="ad84a022bfad4f381179c1e007d7c9c8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad84a022bfad4f381179c1e007d7c9c8a">&#9670;&#160;</a></span>GetEntityCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t ecs::EntityManager::GetEntityCount </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the total number of entities managed by the <a class="el" href="classecs_1_1_entity_manager.html">EntityManager</a>. </p><dl class="section return"><dt>Returns</dt><dd>The count of entities. </dd></dl>
<p class="definition">Definition at line <a class="el" href="entity__manager_8h_source.html#l00113">113</a> of file <a class="el" href="entity__manager_8h_source.html">entity_manager.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 113</span> {</div>
<div class="line"><span class="lineno"> 114</span> <span class="keywordflow">return</span> m_Entities.size();</div>
<div class="line"><span class="lineno"> 115</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="aac0b39f03cc669d8bc8f3073daa2079c" name="aac0b39f03cc669d8bc8f3073daa2079c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac0b39f03cc669d8bc8f3073daa2079c">&#9670;&#160;</a></span>UpdateEntities()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::EntityManager::UpdateEntities </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>deltaTime</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Update all entities by calling their UpdateComponents method. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deltaTime</td><td>The time elapsed since the last update. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="entity__manager_8h_source.html#l00068">68</a> of file <a class="el" href="entity__manager_8h_source.html">entity_manager.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 68</span> {</div>
<div class="line"><span class="lineno"> 69</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; [<span class="keywordtype">id</span>, entity] : m_Entities) {</div>
<div class="line"><span class="lineno"> 70</span> entity-&gt;UpdateComponents(deltaTime);</div>
<div class="line"><span class="lineno"> 71</span> }</div>
<div class="line"><span class="lineno"> 72</span> }</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>enginecustom/src/inc/system/ecs/<a class="el" href="entity__manager_8h_source.html">entity_manager.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceecs.html">ecs</a></li><li class="navelem"><a class="el" href="classecs_1_1_entity_manager.html">EntityManager</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,12 @@
var classecs_1_1_entity_manager =
[
[ "EntityManager", "classecs_1_1_entity_manager.html#acba3847d62f7cd79e22d5ffa490c1f53", null ],
[ "Clear", "classecs_1_1_entity_manager.html#a6c31a8b7c0a01e473566fd801db91a55", null ],
[ "CreateEntity", "classecs_1_1_entity_manager.html#a696dcb2fd36215b0a9214880d21033a2", null ],
[ "DestroyEntity", "classecs_1_1_entity_manager.html#a4cb0da19e3a95b7cb1390843882176a9", null ],
[ "GetAllEntities", "classecs_1_1_entity_manager.html#ad4116858dc1c324cdd558e5ac6c7f21b", null ],
[ "GetEntitiesWithComponent", "classecs_1_1_entity_manager.html#a42887acde34ab3d1cd13c0396b053d72", null ],
[ "GetEntity", "classecs_1_1_entity_manager.html#a79acf6578756702d83d509dbf1fce0d8", null ],
[ "GetEntityCount", "classecs_1_1_entity_manager.html#ad84a022bfad4f381179c1e007d7c9c8a", null ],
[ "UpdateEntities", "classecs_1_1_entity_manager.html#aac0b39f03cc669d8bc8f3073daa2079c", null ]
];

View File

@@ -0,0 +1,134 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_identity_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ecs::IdentityComponent Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>Component</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_identity_component.html#af7fcece7aaa148512ba153d1d3a4cc1c">GetId</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_identity_component.html#a6f97e89a74db7fda99f144c66c17935f">GetName</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_identity_component.html#abc33d5a325706c7c115b88fd9635a4cd">GetType</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_identity_component.html#a253122e10cbe22c42831d250d48a8316">IdentityComponent</a>()</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>IdentityComponent</b>(int id) (defined in <a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a>)</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>IdentityComponent</b>(int id, const std::string &amp;name) (defined in <a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a>)</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_identity_component.html#a04b2bb43ccf6c4842704f30463033b3b">Initialize</a>() override</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_identity_component.html#a46f22b04d81b17bea5807d5b9d32b328">ObjectTypeToString</a>(ObjectType type)</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_identity_component.html#a69797f6d9f9926293d2e0b4e84e3bbb3">SetId</a>(int id)</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_identity_component.html#aa04b3e5f2e40271ba50dfd35c3217013">SetName</a>(const std::string &amp;name)</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_identity_component.html#a7cbca5e7e2c877b45c900df4660c0e35">SetType</a>(ObjectType type)</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_identity_component.html#a9a92b2a27ec5399096a3ad196d2dec3f">StringToObjectType</a>(const std::string &amp;str)</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_component.html#a59c0f739c4ff19227e27ed7b9f6352e0">Update</a>(float deltaTime)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~IdentityComponent</b>()=default (defined in <a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a>)</td><td class="entry"><a class="el" href="classecs_1_1_identity_component.html">ecs::IdentityComponent</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,570 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: ecs::IdentityComponent Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_identity_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classecs_1_1_identity_component-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ecs::IdentityComponent Class Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for ecs::IdentityComponent:</div>
<div class="dyncontent">
<div class="center">
<img src="classecs_1_1_identity_component.png" usemap="#ecs::IdentityComponent_map" alt=""/>
<map id="ecs::IdentityComponent_map" name="ecs::IdentityComponent_map">
<area href="classecs_1_1_component.html" alt="ecs::Component" shape="rect" coords="0,0,141,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a253122e10cbe22c42831d250d48a8316" id="r_a253122e10cbe22c42831d250d48a8316"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a253122e10cbe22c42831d250d48a8316">IdentityComponent</a> ()</td></tr>
<tr class="separator:a253122e10cbe22c42831d250d48a8316"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99226afd520c616f5f2a04074e076acc" id="r_a99226afd520c616f5f2a04074e076acc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a99226afd520c616f5f2a04074e076acc">IdentityComponent</a> (int id)</td></tr>
<tr class="separator:a99226afd520c616f5f2a04074e076acc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dd90b29ef25585a52f93383b8e00632" id="r_a2dd90b29ef25585a52f93383b8e00632"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2dd90b29ef25585a52f93383b8e00632">IdentityComponent</a> (int id, const std::string &amp;name)</td></tr>
<tr class="separator:a2dd90b29ef25585a52f93383b8e00632"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04b2bb43ccf6c4842704f30463033b3b" id="r_a04b2bb43ccf6c4842704f30463033b3b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a04b2bb43ccf6c4842704f30463033b3b">Initialize</a> () override</td></tr>
<tr class="separator:a04b2bb43ccf6c4842704f30463033b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7fcece7aaa148512ba153d1d3a4cc1c" id="r_af7fcece7aaa148512ba153d1d3a4cc1c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af7fcece7aaa148512ba153d1d3a4cc1c">GetId</a> () const</td></tr>
<tr class="separator:af7fcece7aaa148512ba153d1d3a4cc1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69797f6d9f9926293d2e0b4e84e3bbb3" id="r_a69797f6d9f9926293d2e0b4e84e3bbb3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a69797f6d9f9926293d2e0b4e84e3bbb3">SetId</a> (int id)</td></tr>
<tr class="separator:a69797f6d9f9926293d2e0b4e84e3bbb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f97e89a74db7fda99f144c66c17935f" id="r_a6f97e89a74db7fda99f144c66c17935f"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f97e89a74db7fda99f144c66c17935f">GetName</a> () const</td></tr>
<tr class="separator:a6f97e89a74db7fda99f144c66c17935f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa04b3e5f2e40271ba50dfd35c3217013" id="r_aa04b3e5f2e40271ba50dfd35c3217013"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa04b3e5f2e40271ba50dfd35c3217013">SetName</a> (const std::string &amp;name)</td></tr>
<tr class="separator:aa04b3e5f2e40271ba50dfd35c3217013"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc33d5a325706c7c115b88fd9635a4cd" id="r_abc33d5a325706c7c115b88fd9635a4cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceecs.html#ab36dd172176a3da5558233694cbad4ae">ObjectType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abc33d5a325706c7c115b88fd9635a4cd">GetType</a> () const</td></tr>
<tr class="separator:abc33d5a325706c7c115b88fd9635a4cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cbca5e7e2c877b45c900df4660c0e35" id="r_a7cbca5e7e2c877b45c900df4660c0e35"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7cbca5e7e2c877b45c900df4660c0e35">SetType</a> (<a class="el" href="namespaceecs.html#ab36dd172176a3da5558233694cbad4ae">ObjectType</a> type)</td></tr>
<tr class="separator:a7cbca5e7e2c877b45c900df4660c0e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classecs_1_1_component"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classecs_1_1_component')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classecs_1_1_component.html">ecs::Component</a></td></tr>
<tr class="memitem:a8dbee43fa54890ad07145aa1160b0b09 inherit pub_methods_classecs_1_1_component" id="r_a8dbee43fa54890ad07145aa1160b0b09"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a8dbee43fa54890ad07145aa1160b0b09 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34000da33471994c2550e416505026ad inherit pub_methods_classecs_1_1_component" id="r_a34000da33471994c2550e416505026ad"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a34000da33471994c2550e416505026ad inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a213cfa3482dca1ffc458b9cf020b4814 inherit pub_methods_classecs_1_1_component" id="r_a213cfa3482dca1ffc458b9cf020b4814"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a213cfa3482dca1ffc458b9cf020b4814 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8089d7e43f9ac2a6eedd3b0598c46694 inherit pub_methods_classecs_1_1_component" id="r_a8089d7e43f9ac2a6eedd3b0598c46694"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a8089d7e43f9ac2a6eedd3b0598c46694 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59c0f739c4ff19227e27ed7b9f6352e0 inherit pub_methods_classecs_1_1_component" id="r_a59c0f739c4ff19227e27ed7b9f6352e0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classecs_1_1_component.html#a59c0f739c4ff19227e27ed7b9f6352e0">Update</a> (float deltaTime)</td></tr>
<tr class="separator:a59c0f739c4ff19227e27ed7b9f6352e0 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a46f22b04d81b17bea5807d5b9d32b328" id="r_a46f22b04d81b17bea5807d5b9d32b328"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a46f22b04d81b17bea5807d5b9d32b328">ObjectTypeToString</a> (<a class="el" href="namespaceecs.html#ab36dd172176a3da5558233694cbad4ae">ObjectType</a> type)</td></tr>
<tr class="separator:a46f22b04d81b17bea5807d5b9d32b328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a92b2a27ec5399096a3ad196d2dec3f" id="r_a9a92b2a27ec5399096a3ad196d2dec3f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceecs.html#ab36dd172176a3da5558233694cbad4ae">ObjectType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9a92b2a27ec5399096a3ad196d2dec3f">StringToObjectType</a> (const std::string &amp;str)</td></tr>
<tr class="separator:a9a92b2a27ec5399096a3ad196d2dec3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00018">18</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a253122e10cbe22c42831d250d48a8316" name="a253122e10cbe22c42831d250d48a8316"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a253122e10cbe22c42831d250d48a8316">&#9670;&#160;</a></span>IdentityComponent() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::IdentityComponent::IdentityComponent </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Builder for the <a class="el" href="classecs_1_1_identity_component.html">IdentityComponent</a> class. </p>
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00023">23</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 23</span>: m_id(0), m_type(ObjectType::Unknown) {}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a99226afd520c616f5f2a04074e076acc" name="a99226afd520c616f5f2a04074e076acc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99226afd520c616f5f2a04074e076acc">&#9670;&#160;</a></span>IdentityComponent() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::IdentityComponent::IdentityComponent </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>id</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00024">24</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 24</span>: m_id(<span class="keywordtype">id</span>), m_type(ObjectType::Unknown) {}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a2dd90b29ef25585a52f93383b8e00632" name="a2dd90b29ef25585a52f93383b8e00632"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2dd90b29ef25585a52f93383b8e00632">&#9670;&#160;</a></span>IdentityComponent() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::IdentityComponent::IdentityComponent </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>id</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>name</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00025">25</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 25</span>: m_id(<span class="keywordtype">id</span>), m_name(name), m_type(ObjectType::Unknown) {}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="af7fcece7aaa148512ba153d1d3a4cc1c" name="af7fcece7aaa148512ba153d1d3a4cc1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7fcece7aaa148512ba153d1d3a4cc1c">&#9670;&#160;</a></span>GetId()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int ecs::IdentityComponent::GetId </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the ID stored by the component. </p><dl class="section return"><dt>Returns</dt><dd>The ID as an int. </dd></dl>
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00040">40</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 40</span>{ <span class="keywordflow">return</span> m_id; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a6f97e89a74db7fda99f144c66c17935f" name="a6f97e89a74db7fda99f144c66c17935f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f97e89a74db7fda99f144c66c17935f">&#9670;&#160;</a></span>GetName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::string &amp; ecs::IdentityComponent::GetName </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the name of the object. </p><dl class="section return"><dt>Returns</dt><dd>The name as a string. </dd></dl>
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00051">51</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 51</span>{ <span class="keywordflow">return</span> m_name; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="abc33d5a325706c7c115b88fd9635a4cd" name="abc33d5a325706c7c115b88fd9635a4cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc33d5a325706c7c115b88fd9635a4cd">&#9670;&#160;</a></span>GetType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceecs.html#ab36dd172176a3da5558233694cbad4ae">ObjectType</a> ecs::IdentityComponent::GetType </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the type of the object. </p><dl class="section return"><dt>Returns</dt><dd>The type as an ObjectType enum. </dd></dl>
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00062">62</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 62</span>{ <span class="keywordflow">return</span> m_type; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a04b2bb43ccf6c4842704f30463033b3b" name="a04b2bb43ccf6c4842704f30463033b3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04b2bb43ccf6c4842704f30463033b3b">&#9670;&#160;</a></span>Initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::IdentityComponent::Initialize </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the component. This method is called when the component is added to an entity. It can be used to set up initial values or perform any necessary setup. </p>
<p>Reimplemented from <a class="el" href="classecs_1_1_component.html#a9372874f51e5f63584d65fc378d39459">ecs::Component</a>.</p>
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00033">33</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 33</span>{}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a46f22b04d81b17bea5807d5b9d32b328" name="a46f22b04d81b17bea5807d5b9d32b328"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46f22b04d81b17bea5807d5b9d32b328">&#9670;&#160;</a></span>ObjectTypeToString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::string ecs::IdentityComponent::ObjectTypeToString </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceecs.html#ab36dd172176a3da5558233694cbad4ae">ObjectType</a></td> <td class="paramname"><span class="paramname"><em>type</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert an ObjectType to a string representation. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">type</td><td>The ObjectType to convert. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A string representation of the ObjectType. </dd></dl>
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00074">74</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 74</span> {</div>
<div class="line"><span class="lineno"> 75</span> <span class="keywordflow">switch</span> (type) {</div>
<div class="line"><span class="lineno"> 76</span> <span class="keywordflow">case</span> ObjectType::Cube: <span class="keywordflow">return</span> <span class="stringliteral">&quot;Cube&quot;</span>;</div>
<div class="line"><span class="lineno"> 77</span> <span class="keywordflow">case</span> ObjectType::Sphere: <span class="keywordflow">return</span> <span class="stringliteral">&quot;Sphere&quot;</span>;</div>
<div class="line"><span class="lineno"> 78</span> <span class="keywordflow">case</span> ObjectType::Terrain: <span class="keywordflow">return</span> <span class="stringliteral">&quot;Terrain&quot;</span>;</div>
<div class="line"><span class="lineno"> 79</span> <span class="keywordflow">default</span>: <span class="keywordflow">return</span> <span class="stringliteral">&quot;Unknown&quot;</span>;</div>
<div class="line"><span class="lineno"> 80</span> }</div>
<div class="line"><span class="lineno"> 81</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a69797f6d9f9926293d2e0b4e84e3bbb3" name="a69797f6d9f9926293d2e0b4e84e3bbb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69797f6d9f9926293d2e0b4e84e3bbb3">&#9670;&#160;</a></span>SetId()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::IdentityComponent::SetId </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>id</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the ID for the component. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>The ID to set. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00045">45</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 45</span>{ m_id = id; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="aa04b3e5f2e40271ba50dfd35c3217013" name="aa04b3e5f2e40271ba50dfd35c3217013"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa04b3e5f2e40271ba50dfd35c3217013">&#9670;&#160;</a></span>SetName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::IdentityComponent::SetName </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>name</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the name of the object. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>The name to set. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00056">56</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 56</span>{ m_name = name; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a7cbca5e7e2c877b45c900df4660c0e35" name="a7cbca5e7e2c877b45c900df4660c0e35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cbca5e7e2c877b45c900df4660c0e35">&#9670;&#160;</a></span>SetType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::IdentityComponent::SetType </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceecs.html#ab36dd172176a3da5558233694cbad4ae">ObjectType</a></td> <td class="paramname"><span class="paramname"><em>type</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the type of the object. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">type</td><td>The type to set as an ObjectType enum. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00067">67</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 67</span>{ m_type = type; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a9a92b2a27ec5399096a3ad196d2dec3f" name="a9a92b2a27ec5399096a3ad196d2dec3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a92b2a27ec5399096a3ad196d2dec3f">&#9670;&#160;</a></span>StringToObjectType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="namespaceecs.html#ab36dd172176a3da5558233694cbad4ae">ObjectType</a> ecs::IdentityComponent::StringToObjectType </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert a string representation to an ObjectType. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>The string to convert. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The corresponding ObjectType, or Unknown if the string does not match any type. </dd></dl>
<p class="definition">Definition at line <a class="el" href="identity__component_8h_source.html#l00088">88</a> of file <a class="el" href="identity__component_8h_source.html">identity_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 88</span> {</div>
<div class="line"><span class="lineno"> 89</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;Cube&quot;</span>) <span class="keywordflow">return</span> ObjectType::Cube;</div>
<div class="line"><span class="lineno"> 90</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;Sphere&quot;</span>) <span class="keywordflow">return</span> ObjectType::Sphere;</div>
<div class="line"><span class="lineno"> 91</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;Terrain&quot;</span>) <span class="keywordflow">return</span> ObjectType::Terrain;</div>
<div class="line"><span class="lineno"> 92</span> <span class="keywordflow">return</span> ObjectType::Unknown;</div>
<div class="line"><span class="lineno"> 93</span> }</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>enginecustom/src/inc/system/ecs/components/<a class="el" href="identity__component_8h_source.html">identity_component.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceecs.html">ecs</a></li><li class="navelem"><a class="el" href="classecs_1_1_identity_component.html">IdentityComponent</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,11 @@
var classecs_1_1_identity_component =
[
[ "IdentityComponent", "classecs_1_1_identity_component.html#a253122e10cbe22c42831d250d48a8316", null ],
[ "GetId", "classecs_1_1_identity_component.html#af7fcece7aaa148512ba153d1d3a4cc1c", null ],
[ "GetName", "classecs_1_1_identity_component.html#a6f97e89a74db7fda99f144c66c17935f", null ],
[ "GetType", "classecs_1_1_identity_component.html#abc33d5a325706c7c115b88fd9635a4cd", null ],
[ "Initialize", "classecs_1_1_identity_component.html#a04b2bb43ccf6c4842704f30463033b3b", null ],
[ "SetId", "classecs_1_1_identity_component.html#a69797f6d9f9926293d2e0b4e84e3bbb3", null ],
[ "SetName", "classecs_1_1_identity_component.html#aa04b3e5f2e40271ba50dfd35c3217013", null ],
[ "SetType", "classecs_1_1_identity_component.html#a7cbca5e7e2c877b45c900df4660c0e35", null ]
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 B

View File

@@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_model_path_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ecs::ModelPathComponent Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classecs_1_1_model_path_component.html">ecs::ModelPathComponent</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>Component</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_model_path_component.html#a7996bbc72216b56b0b26cef13acad6cc">GetPath</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_model_path_component.html">ecs::ModelPathComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_model_path_component.html#a8819a3be58b6748ced6763a598e2f7f8">Initialize</a>() override</td><td class="entry"><a class="el" href="classecs_1_1_model_path_component.html">ecs::ModelPathComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>ModelPathComponent</b>()=default (defined in <a class="el" href="classecs_1_1_model_path_component.html">ecs::ModelPathComponent</a>)</td><td class="entry"><a class="el" href="classecs_1_1_model_path_component.html">ecs::ModelPathComponent</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ModelPathComponent</b>(const std::wstring &amp;path) (defined in <a class="el" href="classecs_1_1_model_path_component.html">ecs::ModelPathComponent</a>)</td><td class="entry"><a class="el" href="classecs_1_1_model_path_component.html">ecs::ModelPathComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_model_path_component.html#aeef7076b697463196a2ce5440ca10f89">SetPath</a>(const std::wstring &amp;path)</td><td class="entry"><a class="el" href="classecs_1_1_model_path_component.html">ecs::ModelPathComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_model_path_component.html#a64d1c1fa22bb222e6c85f5312ea8795b">Update</a>(float deltaTime) override</td><td class="entry"><a class="el" href="classecs_1_1_model_path_component.html">ecs::ModelPathComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~ModelPathComponent</b>()=default (defined in <a class="el" href="classecs_1_1_model_path_component.html">ecs::ModelPathComponent</a>)</td><td class="entry"><a class="el" href="classecs_1_1_model_path_component.html">ecs::ModelPathComponent</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,317 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: ecs::ModelPathComponent Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_model_path_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classecs_1_1_model_path_component-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ecs::ModelPathComponent Class Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for ecs::ModelPathComponent:</div>
<div class="dyncontent">
<div class="center">
<img src="classecs_1_1_model_path_component.png" usemap="#ecs::ModelPathComponent_map" alt=""/>
<map id="ecs::ModelPathComponent_map" name="ecs::ModelPathComponent_map">
<area href="classecs_1_1_component.html" alt="ecs::Component" shape="rect" coords="0,0,161,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a78cd8d3fa00775dce8e66719376a6c39" id="r_a78cd8d3fa00775dce8e66719376a6c39"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a78cd8d3fa00775dce8e66719376a6c39">ModelPathComponent</a> (const std::wstring &amp;path)</td></tr>
<tr class="separator:a78cd8d3fa00775dce8e66719376a6c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8819a3be58b6748ced6763a598e2f7f8" id="r_a8819a3be58b6748ced6763a598e2f7f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8819a3be58b6748ced6763a598e2f7f8">Initialize</a> () override</td></tr>
<tr class="separator:a8819a3be58b6748ced6763a598e2f7f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64d1c1fa22bb222e6c85f5312ea8795b" id="r_a64d1c1fa22bb222e6c85f5312ea8795b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a64d1c1fa22bb222e6c85f5312ea8795b">Update</a> (float deltaTime) override</td></tr>
<tr class="separator:a64d1c1fa22bb222e6c85f5312ea8795b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7996bbc72216b56b0b26cef13acad6cc" id="r_a7996bbc72216b56b0b26cef13acad6cc"><td class="memItemLeft" align="right" valign="top">const std::wstring &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7996bbc72216b56b0b26cef13acad6cc">GetPath</a> () const</td></tr>
<tr class="separator:a7996bbc72216b56b0b26cef13acad6cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeef7076b697463196a2ce5440ca10f89" id="r_aeef7076b697463196a2ce5440ca10f89"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeef7076b697463196a2ce5440ca10f89">SetPath</a> (const std::wstring &amp;path)</td></tr>
<tr class="separator:aeef7076b697463196a2ce5440ca10f89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classecs_1_1_component"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classecs_1_1_component')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classecs_1_1_component.html">ecs::Component</a></td></tr>
<tr class="memitem:a8dbee43fa54890ad07145aa1160b0b09 inherit pub_methods_classecs_1_1_component" id="r_a8dbee43fa54890ad07145aa1160b0b09"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a8dbee43fa54890ad07145aa1160b0b09 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34000da33471994c2550e416505026ad inherit pub_methods_classecs_1_1_component" id="r_a34000da33471994c2550e416505026ad"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a34000da33471994c2550e416505026ad inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a213cfa3482dca1ffc458b9cf020b4814 inherit pub_methods_classecs_1_1_component" id="r_a213cfa3482dca1ffc458b9cf020b4814"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a213cfa3482dca1ffc458b9cf020b4814 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8089d7e43f9ac2a6eedd3b0598c46694 inherit pub_methods_classecs_1_1_component" id="r_a8089d7e43f9ac2a6eedd3b0598c46694"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a8089d7e43f9ac2a6eedd3b0598c46694 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="model__path__component_8h_source.html#l00007">7</a> of file <a class="el" href="model__path__component_8h_source.html">model_path_component.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a78cd8d3fa00775dce8e66719376a6c39" name="a78cd8d3fa00775dce8e66719376a6c39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78cd8d3fa00775dce8e66719376a6c39">&#9670;&#160;</a></span>ModelPathComponent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::ModelPathComponent::ModelPathComponent </td>
<td>(</td>
<td class="paramtype">const std::wstring &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="model__path__component_8h_source.html#l00010">10</a> of file <a class="el" href="model__path__component_8h_source.html">model_path_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 10</span>: m_path(path) {}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a7996bbc72216b56b0b26cef13acad6cc" name="a7996bbc72216b56b0b26cef13acad6cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7996bbc72216b56b0b26cef13acad6cc">&#9670;&#160;</a></span>GetPath()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::wstring &amp; ecs::ModelPathComponent::GetPath </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the path of the model. </p><dl class="section return"><dt>Returns</dt><dd>The path as a std::wstring. </dd></dl>
<p class="definition">Definition at line <a class="el" href="model__path__component_8h_source.html#l00020">20</a> of file <a class="el" href="model__path__component_8h_source.html">model_path_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 20</span>{ <span class="keywordflow">return</span> m_path; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8819a3be58b6748ced6763a598e2f7f8" name="a8819a3be58b6748ced6763a598e2f7f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8819a3be58b6748ced6763a598e2f7f8">&#9670;&#160;</a></span>Initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::ModelPathComponent::Initialize </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Virtual function to initialize the component. </p>
<p>Reimplemented from <a class="el" href="classecs_1_1_component.html#a9372874f51e5f63584d65fc378d39459">ecs::Component</a>.</p>
<p class="definition">Definition at line <a class="el" href="model__path__component_8h_source.html#l00013">13</a> of file <a class="el" href="model__path__component_8h_source.html">model_path_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 13</span>{}</div>
</div><!-- fragment -->
</div>
</div>
<a id="aeef7076b697463196a2ce5440ca10f89" name="aeef7076b697463196a2ce5440ca10f89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeef7076b697463196a2ce5440ca10f89">&#9670;&#160;</a></span>SetPath()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::ModelPathComponent::SetPath </td>
<td>(</td>
<td class="paramtype">const std::wstring &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the path of the model. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>The path to set as a std::wstring. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="model__path__component_8h_source.html#l00025">25</a> of file <a class="el" href="model__path__component_8h_source.html">model_path_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 25</span>{ m_path = path; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a64d1c1fa22bb222e6c85f5312ea8795b" name="a64d1c1fa22bb222e6c85f5312ea8795b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64d1c1fa22bb222e6c85f5312ea8795b">&#9670;&#160;</a></span>Update()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::ModelPathComponent::Update </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>deltaTime</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Virtual function to update the component. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deltaTime</td><td>Time since the last update. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classecs_1_1_component.html#a59c0f739c4ff19227e27ed7b9f6352e0">ecs::Component</a>.</p>
<p class="definition">Definition at line <a class="el" href="model__path__component_8h_source.html#l00014">14</a> of file <a class="el" href="model__path__component_8h_source.html">model_path_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 14</span>{}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>enginecustom/src/inc/system/ecs/components/<a class="el" href="model__path__component_8h_source.html">model_path_component.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceecs.html">ecs</a></li><li class="navelem"><a class="el" href="classecs_1_1_model_path_component.html">ModelPathComponent</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,7 @@
var classecs_1_1_model_path_component =
[
[ "GetPath", "classecs_1_1_model_path_component.html#a7996bbc72216b56b0b26cef13acad6cc", null ],
[ "Initialize", "classecs_1_1_model_path_component.html#a8819a3be58b6748ced6763a598e2f7f8", null ],
[ "SetPath", "classecs_1_1_model_path_component.html#aeef7076b697463196a2ce5440ca10f89", null ],
[ "Update", "classecs_1_1_model_path_component.html#a64d1c1fa22bb222e6c85f5312ea8795b", null ]
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

View File

@@ -0,0 +1,142 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_physics_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ecs::PhysicsComponent Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>Component</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#ae40284b6a494abd2ad1d8a4bbb641117">GetAcceleration</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#acb77c488322bbb5776e08fd9be5908d7">GetBoundingRadius</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#acbe98be444ae347a32951435472e5a28">GetMass</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#af3e592a83a8145612bea36927c222082">GetPreviousPosition</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#abc1702442a7fa0915f7760b20d5a17ae">GetVelocity</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#ab58952fc61030f1047beb2d6dbec82cf">Initialize</a>() override</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#a29ed13dad5513dff62d8427e856bd74d">IsGravityEnabled</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#ae3438c93efe882c97086e0f9bc2f54dd">IsGrounded</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#ab1d2d882d7ff058a67d3e266257edb95">IsPhysicsEnabled</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#a156fb8329b7b2434ee94ab8c03fdc6e2">LaunchObject</a>(float alpha, float initialStretch, float springConstant)</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#a13c45de519868a3e035fc8a3cb4c3da0">PhysicsComponent</a>()</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#a462dd9f0b3452e9c98d5dea7d9959f50">SetAcceleration</a>(XMVECTOR acceleration)</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#ab95922862da80f63814d47f8c2b69cea">SetBoundingRadius</a>(float radius)</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#a19fa3fa510051cc0d8a0ddb21e92f9fe">SetGravityEnabled</a>(bool enabled)</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#ab750af34ccb7fd9f2cb4cea2c7a9a253">SetGrounded</a>(bool isGrounded)</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#af091ab5887798b0407700d4712795a0c">SetMass</a>(float mass)</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#afb716a1474b17b0bcf1c4eb7b6f3c758">SetPhysicsEnabled</a>(bool enabled)</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#a9fd15ccd7dfe9955116ac5d52e01a6e7">SetPreviousPosition</a>(XMVECTOR position)</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#a93d17ee763b557489210f35b54829976">SetUpdatePositionCallback</a>(std::function&lt; void(XMVECTOR)&gt; callback)</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#a5a4f3b4503ce9b199da87f5e11673501">SetVelocity</a>(XMVECTOR velocity)</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_physics_component.html#a83aaa878464b8ef2dbc0e7a927689d79">Update</a>(float deltaTime) override</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~PhysicsComponent</b>()=default (defined in <a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a>)</td><td class="entry"><a class="el" href="classecs_1_1_physics_component.html">ecs::PhysicsComponent</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,930 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: ecs::PhysicsComponent Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_physics_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classecs_1_1_physics_component-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ecs::PhysicsComponent Class Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for ecs::PhysicsComponent:</div>
<div class="dyncontent">
<div class="center">
<img src="classecs_1_1_physics_component.png" usemap="#ecs::PhysicsComponent_map" alt=""/>
<map id="ecs::PhysicsComponent_map" name="ecs::PhysicsComponent_map">
<area href="classecs_1_1_component.html" alt="ecs::Component" shape="rect" coords="0,0,145,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a13c45de519868a3e035fc8a3cb4c3da0" id="r_a13c45de519868a3e035fc8a3cb4c3da0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a13c45de519868a3e035fc8a3cb4c3da0">PhysicsComponent</a> ()</td></tr>
<tr class="separator:a13c45de519868a3e035fc8a3cb4c3da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab58952fc61030f1047beb2d6dbec82cf" id="r_ab58952fc61030f1047beb2d6dbec82cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab58952fc61030f1047beb2d6dbec82cf">Initialize</a> () override</td></tr>
<tr class="separator:ab58952fc61030f1047beb2d6dbec82cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83aaa878464b8ef2dbc0e7a927689d79" id="r_a83aaa878464b8ef2dbc0e7a927689d79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a83aaa878464b8ef2dbc0e7a927689d79">Update</a> (float deltaTime) override</td></tr>
<tr class="separator:a83aaa878464b8ef2dbc0e7a927689d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a156fb8329b7b2434ee94ab8c03fdc6e2" id="r_a156fb8329b7b2434ee94ab8c03fdc6e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a156fb8329b7b2434ee94ab8c03fdc6e2">LaunchObject</a> (float alpha, float initialStretch, float springConstant)</td></tr>
<tr class="separator:a156fb8329b7b2434ee94ab8c03fdc6e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a4f3b4503ce9b199da87f5e11673501" id="r_a5a4f3b4503ce9b199da87f5e11673501"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5a4f3b4503ce9b199da87f5e11673501">SetVelocity</a> (XMVECTOR velocity)</td></tr>
<tr class="separator:a5a4f3b4503ce9b199da87f5e11673501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a462dd9f0b3452e9c98d5dea7d9959f50" id="r_a462dd9f0b3452e9c98d5dea7d9959f50"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a462dd9f0b3452e9c98d5dea7d9959f50">SetAcceleration</a> (XMVECTOR acceleration)</td></tr>
<tr class="separator:a462dd9f0b3452e9c98d5dea7d9959f50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af091ab5887798b0407700d4712795a0c" id="r_af091ab5887798b0407700d4712795a0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af091ab5887798b0407700d4712795a0c">SetMass</a> (float mass)</td></tr>
<tr class="separator:af091ab5887798b0407700d4712795a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab750af34ccb7fd9f2cb4cea2c7a9a253" id="r_ab750af34ccb7fd9f2cb4cea2c7a9a253"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab750af34ccb7fd9f2cb4cea2c7a9a253">SetGrounded</a> (bool isGrounded)</td></tr>
<tr class="separator:ab750af34ccb7fd9f2cb4cea2c7a9a253"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb716a1474b17b0bcf1c4eb7b6f3c758" id="r_afb716a1474b17b0bcf1c4eb7b6f3c758"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afb716a1474b17b0bcf1c4eb7b6f3c758">SetPhysicsEnabled</a> (bool enabled)</td></tr>
<tr class="separator:afb716a1474b17b0bcf1c4eb7b6f3c758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab95922862da80f63814d47f8c2b69cea" id="r_ab95922862da80f63814d47f8c2b69cea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab95922862da80f63814d47f8c2b69cea">SetBoundingRadius</a> (float radius)</td></tr>
<tr class="separator:ab95922862da80f63814d47f8c2b69cea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fd15ccd7dfe9955116ac5d52e01a6e7" id="r_a9fd15ccd7dfe9955116ac5d52e01a6e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9fd15ccd7dfe9955116ac5d52e01a6e7">SetPreviousPosition</a> (XMVECTOR position)</td></tr>
<tr class="separator:a9fd15ccd7dfe9955116ac5d52e01a6e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19fa3fa510051cc0d8a0ddb21e92f9fe" id="r_a19fa3fa510051cc0d8a0ddb21e92f9fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a19fa3fa510051cc0d8a0ddb21e92f9fe">SetGravityEnabled</a> (bool enabled)</td></tr>
<tr class="separator:a19fa3fa510051cc0d8a0ddb21e92f9fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93d17ee763b557489210f35b54829976" id="r_a93d17ee763b557489210f35b54829976"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a93d17ee763b557489210f35b54829976">SetUpdatePositionCallback</a> (std::function&lt; void(XMVECTOR)&gt; callback)</td></tr>
<tr class="separator:a93d17ee763b557489210f35b54829976"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc1702442a7fa0915f7760b20d5a17ae" id="r_abc1702442a7fa0915f7760b20d5a17ae"><td class="memItemLeft" align="right" valign="top">XMVECTOR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abc1702442a7fa0915f7760b20d5a17ae">GetVelocity</a> () const</td></tr>
<tr class="separator:abc1702442a7fa0915f7760b20d5a17ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae40284b6a494abd2ad1d8a4bbb641117" id="r_ae40284b6a494abd2ad1d8a4bbb641117"><td class="memItemLeft" align="right" valign="top">XMVECTOR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae40284b6a494abd2ad1d8a4bbb641117">GetAcceleration</a> () const</td></tr>
<tr class="separator:ae40284b6a494abd2ad1d8a4bbb641117"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbe98be444ae347a32951435472e5a28" id="r_acbe98be444ae347a32951435472e5a28"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acbe98be444ae347a32951435472e5a28">GetMass</a> () const</td></tr>
<tr class="separator:acbe98be444ae347a32951435472e5a28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3438c93efe882c97086e0f9bc2f54dd" id="r_ae3438c93efe882c97086e0f9bc2f54dd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae3438c93efe882c97086e0f9bc2f54dd">IsGrounded</a> () const</td></tr>
<tr class="separator:ae3438c93efe882c97086e0f9bc2f54dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1d2d882d7ff058a67d3e266257edb95" id="r_ab1d2d882d7ff058a67d3e266257edb95"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab1d2d882d7ff058a67d3e266257edb95">IsPhysicsEnabled</a> () const</td></tr>
<tr class="separator:ab1d2d882d7ff058a67d3e266257edb95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb77c488322bbb5776e08fd9be5908d7" id="r_acb77c488322bbb5776e08fd9be5908d7"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acb77c488322bbb5776e08fd9be5908d7">GetBoundingRadius</a> () const</td></tr>
<tr class="separator:acb77c488322bbb5776e08fd9be5908d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3e592a83a8145612bea36927c222082" id="r_af3e592a83a8145612bea36927c222082"><td class="memItemLeft" align="right" valign="top">XMVECTOR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af3e592a83a8145612bea36927c222082">GetPreviousPosition</a> () const</td></tr>
<tr class="separator:af3e592a83a8145612bea36927c222082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29ed13dad5513dff62d8427e856bd74d" id="r_a29ed13dad5513dff62d8427e856bd74d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a29ed13dad5513dff62d8427e856bd74d">IsGravityEnabled</a> () const</td></tr>
<tr class="separator:a29ed13dad5513dff62d8427e856bd74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classecs_1_1_component"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classecs_1_1_component')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classecs_1_1_component.html">ecs::Component</a></td></tr>
<tr class="memitem:a8dbee43fa54890ad07145aa1160b0b09 inherit pub_methods_classecs_1_1_component" id="r_a8dbee43fa54890ad07145aa1160b0b09"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a8dbee43fa54890ad07145aa1160b0b09 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34000da33471994c2550e416505026ad inherit pub_methods_classecs_1_1_component" id="r_a34000da33471994c2550e416505026ad"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a34000da33471994c2550e416505026ad inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a213cfa3482dca1ffc458b9cf020b4814 inherit pub_methods_classecs_1_1_component" id="r_a213cfa3482dca1ffc458b9cf020b4814"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a213cfa3482dca1ffc458b9cf020b4814 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8089d7e43f9ac2a6eedd3b0598c46694 inherit pub_methods_classecs_1_1_component" id="r_a8089d7e43f9ac2a6eedd3b0598c46694"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a8089d7e43f9ac2a6eedd3b0598c46694 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00009">9</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a13c45de519868a3e035fc8a3cb4c3da0" name="a13c45de519868a3e035fc8a3cb4c3da0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13c45de519868a3e035fc8a3cb4c3da0">&#9670;&#160;</a></span>PhysicsComponent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::PhysicsComponent::PhysicsComponent </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Builder for the <a class="el" href="classecs_1_1_physics_component.html">PhysicsComponent</a> class. Use default values for velocity, acceleration, mass, bounding radius, and grounded state. </p>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00015">15</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 15</span> {</div>
<div class="line"><span class="lineno"> 16</span> m_Velocity = XMVectorZero();</div>
<div class="line"><span class="lineno"> 17</span> m_Acceleration = XMVectorZero();</div>
<div class="line"><span class="lineno"> 18</span> m_PreviousPosition = XMVectorZero();</div>
<div class="line"><span class="lineno"> 19</span> m_Mass = 1.0f;</div>
<div class="line"><span class="lineno"> 20</span> m_BoundingRadius = 1.0f;</div>
<div class="line"><span class="lineno"> 21</span> m_IsGrounded = <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 22</span> m_IsPhysicsEnabled = <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 23</span> m_GravityEnabled = <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 24</span> }</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae40284b6a494abd2ad1d8a4bbb641117" name="ae40284b6a494abd2ad1d8a4bbb641117"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae40284b6a494abd2ad1d8a4bbb641117">&#9670;&#160;</a></span>GetAcceleration()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">XMVECTOR ecs::PhysicsComponent::GetAcceleration </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current acceleration of the object. </p><dl class="section return"><dt>Returns</dt><dd>The acceleration as an XMVECTOR. </dd></dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00160">160</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 160</span>{ <span class="keywordflow">return</span> m_Acceleration; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="acb77c488322bbb5776e08fd9be5908d7" name="acb77c488322bbb5776e08fd9be5908d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb77c488322bbb5776e08fd9be5908d7">&#9670;&#160;</a></span>GetBoundingRadius()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float ecs::PhysicsComponent::GetBoundingRadius </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the bounding radius of the object. </p><dl class="section return"><dt>Returns</dt><dd>The bounding radius as a float. </dd></dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00180">180</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 180</span>{ <span class="keywordflow">return</span> m_BoundingRadius; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="acbe98be444ae347a32951435472e5a28" name="acbe98be444ae347a32951435472e5a28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbe98be444ae347a32951435472e5a28">&#9670;&#160;</a></span>GetMass()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float ecs::PhysicsComponent::GetMass </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the mass of the object. </p><dl class="section return"><dt>Returns</dt><dd>The mass as a float. </dd></dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00165">165</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 165</span>{ <span class="keywordflow">return</span> m_Mass; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="af3e592a83a8145612bea36927c222082" name="af3e592a83a8145612bea36927c222082"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3e592a83a8145612bea36927c222082">&#9670;&#160;</a></span>GetPreviousPosition()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">XMVECTOR ecs::PhysicsComponent::GetPreviousPosition </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the previous position of the object. This is used to calculate the movement and collision detection. </p><dl class="section return"><dt>Returns</dt><dd>The previous position as an XMVECTOR. </dd></dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00186">186</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 186</span>{ <span class="keywordflow">return</span> m_PreviousPosition; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="abc1702442a7fa0915f7760b20d5a17ae" name="abc1702442a7fa0915f7760b20d5a17ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc1702442a7fa0915f7760b20d5a17ae">&#9670;&#160;</a></span>GetVelocity()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">XMVECTOR ecs::PhysicsComponent::GetVelocity </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current velocity of the object. </p><dl class="section return"><dt>Returns</dt><dd>The velocity as an XMVECTOR. </dd></dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00155">155</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 155</span>{ <span class="keywordflow">return</span> m_Velocity; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ab58952fc61030f1047beb2d6dbec82cf" name="ab58952fc61030f1047beb2d6dbec82cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab58952fc61030f1047beb2d6dbec82cf">&#9670;&#160;</a></span>Initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::Initialize </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the component. This method is called when the component is added to an entity. It can be used to set up initial values or perform any necessary setup. </p>
<p>Reimplemented from <a class="el" href="classecs_1_1_component.html#a9372874f51e5f63584d65fc378d39459">ecs::Component</a>.</p>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00033">33</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 33</span> {</div>
<div class="line"><span class="lineno"> 34</span> <span class="comment">// Initialisation du composant physique</span></div>
<div class="line"><span class="lineno"> 35</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a29ed13dad5513dff62d8427e856bd74d" name="a29ed13dad5513dff62d8427e856bd74d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29ed13dad5513dff62d8427e856bd74d">&#9670;&#160;</a></span>IsGravityEnabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ecs::PhysicsComponent::IsGravityEnabled </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if gravity is enabled for the object. </p><dl class="section return"><dt>Returns</dt><dd>True if gravity is enabled, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00191">191</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 191</span>{ <span class="keywordflow">return</span> m_GravityEnabled; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae3438c93efe882c97086e0f9bc2f54dd" name="ae3438c93efe882c97086e0f9bc2f54dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3438c93efe882c97086e0f9bc2f54dd">&#9670;&#160;</a></span>IsGrounded()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ecs::PhysicsComponent::IsGrounded </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the grounded state of the object. </p><dl class="section return"><dt>Returns</dt><dd>True if the object is grounded, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00170">170</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 170</span>{ <span class="keywordflow">return</span> m_IsGrounded; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ab1d2d882d7ff058a67d3e266257edb95" name="ab1d2d882d7ff058a67d3e266257edb95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1d2d882d7ff058a67d3e266257edb95">&#9670;&#160;</a></span>IsPhysicsEnabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ecs::PhysicsComponent::IsPhysicsEnabled </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if physics is enabled for the object. </p><dl class="section return"><dt>Returns</dt><dd>True if physics is enabled, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00175">175</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 175</span>{ <span class="keywordflow">return</span> m_IsPhysicsEnabled; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a156fb8329b7b2434ee94ab8c03fdc6e2" name="a156fb8329b7b2434ee94ab8c03fdc6e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a156fb8329b7b2434ee94ab8c03fdc6e2">&#9670;&#160;</a></span>LaunchObject()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::LaunchObject </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>alpha</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>initialStretch</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>springConstant</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Launch an object with a spring-like force. This method calculates the initial velocity based on the angle, initial stretch, and spring constant.</p>
<p>This method will be removed in the future</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">alpha</td><td>The launch angle in degrees. </td></tr>
<tr><td class="paramname">initialStretch</td><td>The initial stretch of the spring. </td></tr>
<tr><td class="paramname">springConstant</td><td>The spring constant. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00070">70</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 70</span> {</div>
<div class="line"><span class="lineno"> 71</span> <span class="comment">// Constants</span></div>
<div class="line"><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">float</span> gravity = -9.81f;</div>
<div class="line"><span class="lineno"> 73</span> </div>
<div class="line"><span class="lineno"> 74</span> <span class="comment">// Convert alpha from degrees to radians if needed</span></div>
<div class="line"><span class="lineno"> 75</span> <span class="keywordtype">float</span> alphaRadians = alpha * (XM_PI / 180.0f);</div>
<div class="line"><span class="lineno"> 76</span> </div>
<div class="line"><span class="lineno"> 77</span> <span class="comment">// Scale factors to make the physics simulation more visible</span></div>
<div class="line"><span class="lineno"> 78</span> <span class="keywordtype">float</span> scaleFactor = 200.0f; <span class="comment">// Adjust this based on your world scale</span></div>
<div class="line"><span class="lineno"> 79</span> </div>
<div class="line"><span class="lineno"> 80</span> <span class="comment">// Calculate initial velocity magnitude</span></div>
<div class="line"><span class="lineno"> 81</span> <span class="keywordtype">float</span> velocityMagnitude = initialStretch * sqrtf(springConstant / m_Mass) * </div>
<div class="line"><span class="lineno"> 82</span> sqrtf(1.0f - powf((m_Mass * gravity * sinf(alphaRadians) / </div>
<div class="line"><span class="lineno"> 83</span> (springConstant * initialStretch)), 2.0f));</div>
<div class="line"><span class="lineno"> 84</span> </div>
<div class="line"><span class="lineno"> 85</span> <span class="comment">// Apply scale factor</span></div>
<div class="line"><span class="lineno"> 86</span> velocityMagnitude *= scaleFactor;</div>
<div class="line"><span class="lineno"> 87</span> </div>
<div class="line"><span class="lineno"> 88</span> <span class="comment">// Calculate velocity components</span></div>
<div class="line"><span class="lineno"> 89</span> XMVECTOR velocity = XMVectorSet(</div>
<div class="line"><span class="lineno"> 90</span> velocityMagnitude * cosf(alphaRadians), <span class="comment">// vx = v0 * cos(alpha)</span></div>
<div class="line"><span class="lineno"> 91</span> velocityMagnitude * sinf(alphaRadians), <span class="comment">// vy = v0 * sin(alpha)</span></div>
<div class="line"><span class="lineno"> 92</span> 0.0f, <span class="comment">// z-component (0 for 2D trajectory)</span></div>
<div class="line"><span class="lineno"> 93</span> 0.0f</div>
<div class="line"><span class="lineno"> 94</span> );</div>
<div class="line"><span class="lineno"> 95</span> </div>
<div class="line"><span class="lineno"> 96</span> <span class="comment">// Apply velocity</span></div>
<div class="line"><span class="lineno"> 97</span> <a class="code hl_function" href="#a5a4f3b4503ce9b199da87f5e11673501">SetVelocity</a>(velocity);</div>
<div class="line"><span class="lineno"> 98</span> </div>
<div class="line"><span class="lineno"> 99</span> <span class="comment">// Enable physics and reset grounded state</span></div>
<div class="line"><span class="lineno"> 100</span> <a class="code hl_function" href="#afb716a1474b17b0bcf1c4eb7b6f3c758">SetPhysicsEnabled</a>(<span class="keyword">true</span>);</div>
<div class="line"><span class="lineno"> 101</span> <a class="code hl_function" href="#ab750af34ccb7fd9f2cb4cea2c7a9a253">SetGrounded</a>(<span class="keyword">false</span>);</div>
<div class="line"><span class="lineno"> 102</span> }</div>
<div class="ttc" id="aclassecs_1_1_physics_component_html_a5a4f3b4503ce9b199da87f5e11673501"><div class="ttname"><a href="#a5a4f3b4503ce9b199da87f5e11673501">ecs::PhysicsComponent::SetVelocity</a></div><div class="ttdeci">void SetVelocity(XMVECTOR velocity)</div><div class="ttdef"><b>Definition</b> <a href="physics__component_8h_source.html#l00108">physics_component.h:108</a></div></div>
<div class="ttc" id="aclassecs_1_1_physics_component_html_ab750af34ccb7fd9f2cb4cea2c7a9a253"><div class="ttname"><a href="#ab750af34ccb7fd9f2cb4cea2c7a9a253">ecs::PhysicsComponent::SetGrounded</a></div><div class="ttdeci">void SetGrounded(bool isGrounded)</div><div class="ttdef"><b>Definition</b> <a href="physics__component_8h_source.html#l00123">physics_component.h:123</a></div></div>
<div class="ttc" id="aclassecs_1_1_physics_component_html_afb716a1474b17b0bcf1c4eb7b6f3c758"><div class="ttname"><a href="#afb716a1474b17b0bcf1c4eb7b6f3c758">ecs::PhysicsComponent::SetPhysicsEnabled</a></div><div class="ttdeci">void SetPhysicsEnabled(bool enabled)</div><div class="ttdef"><b>Definition</b> <a href="physics__component_8h_source.html#l00128">physics_component.h:128</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a462dd9f0b3452e9c98d5dea7d9959f50" name="a462dd9f0b3452e9c98d5dea7d9959f50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a462dd9f0b3452e9c98d5dea7d9959f50">&#9670;&#160;</a></span>SetAcceleration()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::SetAcceleration </td>
<td>(</td>
<td class="paramtype">XMVECTOR</td> <td class="paramname"><span class="paramname"><em>acceleration</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the acceleration of the object. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">acceleration</td><td></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00113">113</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 113</span>{ m_Acceleration = acceleration; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ab95922862da80f63814d47f8c2b69cea" name="ab95922862da80f63814d47f8c2b69cea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab95922862da80f63814d47f8c2b69cea">&#9670;&#160;</a></span>SetBoundingRadius()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::SetBoundingRadius </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>radius</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the bounding radius of the object. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">radius</td><td>The bounding radius to set. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00133">133</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 133</span>{ m_BoundingRadius = radius; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a19fa3fa510051cc0d8a0ddb21e92f9fe" name="a19fa3fa510051cc0d8a0ddb21e92f9fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19fa3fa510051cc0d8a0ddb21e92f9fe">&#9670;&#160;</a></span>SetGravityEnabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::SetGravityEnabled </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>enabled</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable or disable gravity for the object. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enabled</td><td>True to enable gravity, false to disable. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00143">143</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 143</span>{ m_GravityEnabled = enabled; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ab750af34ccb7fd9f2cb4cea2c7a9a253" name="ab750af34ccb7fd9f2cb4cea2c7a9a253"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab750af34ccb7fd9f2cb4cea2c7a9a253">&#9670;&#160;</a></span>SetGrounded()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::SetGrounded </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>isGrounded</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the grounded state of the object. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">isGrounded</td><td>True if the object is grounded, false otherwise. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00123">123</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 123</span>{ m_IsGrounded = isGrounded; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="af091ab5887798b0407700d4712795a0c" name="af091ab5887798b0407700d4712795a0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af091ab5887798b0407700d4712795a0c">&#9670;&#160;</a></span>SetMass()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::SetMass </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>mass</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the mass of the object. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mass</td><td>The mass to set. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00118">118</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 118</span>{ m_Mass = mass; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="afb716a1474b17b0bcf1c4eb7b6f3c758" name="afb716a1474b17b0bcf1c4eb7b6f3c758"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb716a1474b17b0bcf1c4eb7b6f3c758">&#9670;&#160;</a></span>SetPhysicsEnabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::SetPhysicsEnabled </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>enabled</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable or disable physics for the object. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enabled</td><td>True to enable physics, false to disable. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00128">128</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 128</span>{ m_IsPhysicsEnabled = enabled; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a9fd15ccd7dfe9955116ac5d52e01a6e7" name="a9fd15ccd7dfe9955116ac5d52e01a6e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fd15ccd7dfe9955116ac5d52e01a6e7">&#9670;&#160;</a></span>SetPreviousPosition()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::SetPreviousPosition </td>
<td>(</td>
<td class="paramtype">XMVECTOR</td> <td class="paramname"><span class="paramname"><em>position</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the previous position of the object. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">position</td><td>The previous position to set. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00138">138</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 138</span>{ m_PreviousPosition = position; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a93d17ee763b557489210f35b54829976" name="a93d17ee763b557489210f35b54829976"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93d17ee763b557489210f35b54829976">&#9670;&#160;</a></span>SetUpdatePositionCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::SetUpdatePositionCallback </td>
<td>(</td>
<td class="paramtype">std::function&lt; void(XMVECTOR)&gt;</td> <td class="paramname"><span class="paramname"><em>callback</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the callback to update the position of the object. This callback will be connected to the <a class="el" href="classecs_1_1_transform_component.html">TransformComponent</a> to update the position. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">callback</td><td>The callback function that takes an XMVECTOR as a parameter. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00149">149</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 149</span>{ m_UpdatePositionCallback = callback; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a5a4f3b4503ce9b199da87f5e11673501" name="a5a4f3b4503ce9b199da87f5e11673501"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a4f3b4503ce9b199da87f5e11673501">&#9670;&#160;</a></span>SetVelocity()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::SetVelocity </td>
<td>(</td>
<td class="paramtype">XMVECTOR</td> <td class="paramname"><span class="paramname"><em>velocity</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the velocity of the object. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">velocity</td><td></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00108">108</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 108</span>{ m_Velocity = velocity; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a83aaa878464b8ef2dbc0e7a927689d79" name="a83aaa878464b8ef2dbc0e7a927689d79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83aaa878464b8ef2dbc0e7a927689d79">&#9670;&#160;</a></span>Update()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::PhysicsComponent::Update </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>deltaTime</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Update the physics component. This method is called every frame to update the physics state.</p>
<p>This method is not the final update method It will be called by the <a class="el" href="classecs_1_1_entity_manager.html">EntityManager</a>'s in the physics Thread. This is due to the fact that the physics system is not updated every frame. The physics thread is called at a fixed time step (50 FPS by default).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deltaTime</td><td>The time elapsed since the last frame. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classecs_1_1_component.html#a59c0f739c4ff19227e27ed7b9f6352e0">ecs::Component</a>.</p>
<p class="definition">Definition at line <a class="el" href="physics__component_8h_source.html#l00048">48</a> of file <a class="el" href="physics__component_8h_source.html">physics_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 48</span> {</div>
<div class="line"><span class="lineno"> 49</span> <span class="keywordflow">if</span> (!m_IsPhysicsEnabled) <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 50</span> </div>
<div class="line"><span class="lineno"> 51</span> <span class="comment">// Mise <20> jour de la v<>locit<69> bas<61>e sur l&#39;acc<EFBFBD>l<EFBFBD>ration</span></div>
<div class="line"><span class="lineno"> 52</span> m_Velocity = m_Velocity + m_Acceleration * deltaTime;</div>
<div class="line"><span class="lineno"> 53</span> </div>
<div class="line"><span class="lineno"> 54</span> <span class="comment">// Si la physique est activ<69>e et qu&#39;une fonction de mise <20> jour de position est d<>finie</span></div>
<div class="line"><span class="lineno"> 55</span> <span class="keywordflow">if</span> (m_UpdatePositionCallback) {</div>
<div class="line"><span class="lineno"> 56</span> m_UpdatePositionCallback(m_Velocity * deltaTime);</div>
<div class="line"><span class="lineno"> 57</span> }</div>
<div class="line"><span class="lineno"> 58</span> }</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>enginecustom/src/inc/system/ecs/components/<a class="el" href="physics__component_8h_source.html">physics_component.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceecs.html">ecs</a></li><li class="navelem"><a class="el" href="classecs_1_1_physics_component.html">PhysicsComponent</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,24 @@
var classecs_1_1_physics_component =
[
[ "PhysicsComponent", "classecs_1_1_physics_component.html#a13c45de519868a3e035fc8a3cb4c3da0", null ],
[ "GetAcceleration", "classecs_1_1_physics_component.html#ae40284b6a494abd2ad1d8a4bbb641117", null ],
[ "GetBoundingRadius", "classecs_1_1_physics_component.html#acb77c488322bbb5776e08fd9be5908d7", null ],
[ "GetMass", "classecs_1_1_physics_component.html#acbe98be444ae347a32951435472e5a28", null ],
[ "GetPreviousPosition", "classecs_1_1_physics_component.html#af3e592a83a8145612bea36927c222082", null ],
[ "GetVelocity", "classecs_1_1_physics_component.html#abc1702442a7fa0915f7760b20d5a17ae", null ],
[ "Initialize", "classecs_1_1_physics_component.html#ab58952fc61030f1047beb2d6dbec82cf", null ],
[ "IsGravityEnabled", "classecs_1_1_physics_component.html#a29ed13dad5513dff62d8427e856bd74d", null ],
[ "IsGrounded", "classecs_1_1_physics_component.html#ae3438c93efe882c97086e0f9bc2f54dd", null ],
[ "IsPhysicsEnabled", "classecs_1_1_physics_component.html#ab1d2d882d7ff058a67d3e266257edb95", null ],
[ "LaunchObject", "classecs_1_1_physics_component.html#a156fb8329b7b2434ee94ab8c03fdc6e2", null ],
[ "SetAcceleration", "classecs_1_1_physics_component.html#a462dd9f0b3452e9c98d5dea7d9959f50", null ],
[ "SetBoundingRadius", "classecs_1_1_physics_component.html#ab95922862da80f63814d47f8c2b69cea", null ],
[ "SetGravityEnabled", "classecs_1_1_physics_component.html#a19fa3fa510051cc0d8a0ddb21e92f9fe", null ],
[ "SetGrounded", "classecs_1_1_physics_component.html#ab750af34ccb7fd9f2cb4cea2c7a9a253", null ],
[ "SetMass", "classecs_1_1_physics_component.html#af091ab5887798b0407700d4712795a0c", null ],
[ "SetPhysicsEnabled", "classecs_1_1_physics_component.html#afb716a1474b17b0bcf1c4eb7b6f3c758", null ],
[ "SetPreviousPosition", "classecs_1_1_physics_component.html#a9fd15ccd7dfe9955116ac5d52e01a6e7", null ],
[ "SetUpdatePositionCallback", "classecs_1_1_physics_component.html#a93d17ee763b557489210f35b54829976", null ],
[ "SetVelocity", "classecs_1_1_physics_component.html#a5a4f3b4503ce9b199da87f5e11673501", null ],
[ "Update", "classecs_1_1_physics_component.html#a83aaa878464b8ef2dbc0e7a927689d79", null ]
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

View File

@@ -0,0 +1,136 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_render_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ecs::RenderComponent Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>Component</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#ae01aca10690322ec92899e99bf5e244e">GetIndexCount</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#a2797ae01f7f42594a0291529d0ec8ef0">GetModel</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#aa9bc77dc2ea430ec9008bda7993f766c">GetModelFilePath</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#a8d3c778be73e8cbb27b3ea102698a7f2">GetTexture</a>(TextureType type, int index=0)</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#aa92950c4ebad0379f626493bda1a79bb">Initialize</a>() override</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#a0aeb040ec34ba3619f08269e5744597e">InitializeFromFile</a>(ID3D11Device *device, ID3D11DeviceContext *deviceContext, const char *modelFilename, TextureContainer &amp;textureContainer)</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#a5014687c529c5dd29c1689da1dd64776">InitializeWithModel</a>(std::shared_ptr&lt; model_class &gt; model)</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#ad77b9089172b2567767aac2ac05118ea">IsVisible</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#a64e1e92929e2384d09c31b8d2afb258d">LoadTexturesFromPath</a>(std::vector&lt; std::wstring &gt; &amp;texturePaths, TextureContainer &amp;texturesContainer, ID3D11Device *device, ID3D11DeviceContext *deviceContext)</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#a61dc5966b89474a415e3d19d28760a64">Render</a>(ID3D11DeviceContext *deviceContext)</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#a9b8099cc84f4ca11f9cfca7d80081d6b">RenderComponent</a>()</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#ab3a01e06c359132815a5a35ed950a19a">SetModel</a>(std::shared_ptr&lt; model_class &gt; model)</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#acac2902002c2ca0618c41525d1584088">SetModelFilePath</a>(const std::string &amp;path)</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#ae0beed54f3cfe42213e1767da1b36d46">SetVisible</a>(bool visible)</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_render_component.html#a6cfff9944a89629f5f7a7d1451446f0d">Update</a>(float deltaTime) override</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~RenderComponent</b>()=default (defined in <a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a>)</td><td class="entry"><a class="el" href="classecs_1_1_render_component.html">ecs::RenderComponent</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,764 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: ecs::RenderComponent Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_render_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classecs_1_1_render_component-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ecs::RenderComponent Class Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for ecs::RenderComponent:</div>
<div class="dyncontent">
<div class="center">
<img src="classecs_1_1_render_component.png" usemap="#ecs::RenderComponent_map" alt=""/>
<map id="ecs::RenderComponent_map" name="ecs::RenderComponent_map">
<area href="classecs_1_1_component.html" alt="ecs::Component" shape="rect" coords="0,0,142,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9b8099cc84f4ca11f9cfca7d80081d6b" id="r_a9b8099cc84f4ca11f9cfca7d80081d6b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9b8099cc84f4ca11f9cfca7d80081d6b">RenderComponent</a> ()</td></tr>
<tr class="separator:a9b8099cc84f4ca11f9cfca7d80081d6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa92950c4ebad0379f626493bda1a79bb" id="r_aa92950c4ebad0379f626493bda1a79bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa92950c4ebad0379f626493bda1a79bb">Initialize</a> () override</td></tr>
<tr class="separator:aa92950c4ebad0379f626493bda1a79bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cfff9944a89629f5f7a7d1451446f0d" id="r_a6cfff9944a89629f5f7a7d1451446f0d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6cfff9944a89629f5f7a7d1451446f0d">Update</a> (float deltaTime) override</td></tr>
<tr class="separator:a6cfff9944a89629f5f7a7d1451446f0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5014687c529c5dd29c1689da1dd64776" id="r_a5014687c529c5dd29c1689da1dd64776"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5014687c529c5dd29c1689da1dd64776">InitializeWithModel</a> (std::shared_ptr&lt; <a class="el" href="classmodel__class.html">model_class</a> &gt; model)</td></tr>
<tr class="separator:a5014687c529c5dd29c1689da1dd64776"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aeb040ec34ba3619f08269e5744597e" id="r_a0aeb040ec34ba3619f08269e5744597e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0aeb040ec34ba3619f08269e5744597e">InitializeFromFile</a> (ID3D11Device *device, ID3D11DeviceContext *deviceContext, const char *modelFilename, <a class="el" href="struct_texture_container.html">TextureContainer</a> &amp;textureContainer)</td></tr>
<tr class="separator:a0aeb040ec34ba3619f08269e5744597e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64e1e92929e2384d09c31b8d2afb258d" id="r_a64e1e92929e2384d09c31b8d2afb258d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a64e1e92929e2384d09c31b8d2afb258d">LoadTexturesFromPath</a> (std::vector&lt; std::wstring &gt; &amp;texturePaths, <a class="el" href="struct_texture_container.html">TextureContainer</a> &amp;texturesContainer, ID3D11Device *device, ID3D11DeviceContext *deviceContext)</td></tr>
<tr class="separator:a64e1e92929e2384d09c31b8d2afb258d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2797ae01f7f42594a0291529d0ec8ef0" id="r_a2797ae01f7f42594a0291529d0ec8ef0"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classmodel__class.html">model_class</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2797ae01f7f42594a0291529d0ec8ef0">GetModel</a> () const</td></tr>
<tr class="separator:a2797ae01f7f42594a0291529d0ec8ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3a01e06c359132815a5a35ed950a19a" id="r_ab3a01e06c359132815a5a35ed950a19a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab3a01e06c359132815a5a35ed950a19a">SetModel</a> (std::shared_ptr&lt; <a class="el" href="classmodel__class.html">model_class</a> &gt; model)</td></tr>
<tr class="separator:ab3a01e06c359132815a5a35ed950a19a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9bc77dc2ea430ec9008bda7993f766c" id="r_aa9bc77dc2ea430ec9008bda7993f766c"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa9bc77dc2ea430ec9008bda7993f766c">GetModelFilePath</a> () const</td></tr>
<tr class="separator:aa9bc77dc2ea430ec9008bda7993f766c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acac2902002c2ca0618c41525d1584088" id="r_acac2902002c2ca0618c41525d1584088"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acac2902002c2ca0618c41525d1584088">SetModelFilePath</a> (const std::string &amp;path)</td></tr>
<tr class="separator:acac2902002c2ca0618c41525d1584088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad77b9089172b2567767aac2ac05118ea" id="r_ad77b9089172b2567767aac2ac05118ea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad77b9089172b2567767aac2ac05118ea">IsVisible</a> () const</td></tr>
<tr class="separator:ad77b9089172b2567767aac2ac05118ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0beed54f3cfe42213e1767da1b36d46" id="r_ae0beed54f3cfe42213e1767da1b36d46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae0beed54f3cfe42213e1767da1b36d46">SetVisible</a> (bool visible)</td></tr>
<tr class="separator:ae0beed54f3cfe42213e1767da1b36d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d3c778be73e8cbb27b3ea102698a7f2" id="r_a8d3c778be73e8cbb27b3ea102698a7f2"><td class="memItemLeft" align="right" valign="top">ID3D11ShaderResourceView *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8d3c778be73e8cbb27b3ea102698a7f2">GetTexture</a> (<a class="el" href="namespaceecs.html#a6e9ad0276f69474fe9498437b7d1a8f2">TextureType</a> type, int index=0)</td></tr>
<tr class="separator:a8d3c778be73e8cbb27b3ea102698a7f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae01aca10690322ec92899e99bf5e244e" id="r_ae01aca10690322ec92899e99bf5e244e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae01aca10690322ec92899e99bf5e244e">GetIndexCount</a> () const</td></tr>
<tr class="separator:ae01aca10690322ec92899e99bf5e244e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61dc5966b89474a415e3d19d28760a64" id="r_a61dc5966b89474a415e3d19d28760a64"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a61dc5966b89474a415e3d19d28760a64">Render</a> (ID3D11DeviceContext *deviceContext)</td></tr>
<tr class="separator:a61dc5966b89474a415e3d19d28760a64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classecs_1_1_component"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classecs_1_1_component')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classecs_1_1_component.html">ecs::Component</a></td></tr>
<tr class="memitem:a8dbee43fa54890ad07145aa1160b0b09 inherit pub_methods_classecs_1_1_component" id="r_a8dbee43fa54890ad07145aa1160b0b09"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a8dbee43fa54890ad07145aa1160b0b09 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34000da33471994c2550e416505026ad inherit pub_methods_classecs_1_1_component" id="r_a34000da33471994c2550e416505026ad"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a34000da33471994c2550e416505026ad inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a213cfa3482dca1ffc458b9cf020b4814 inherit pub_methods_classecs_1_1_component" id="r_a213cfa3482dca1ffc458b9cf020b4814"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a213cfa3482dca1ffc458b9cf020b4814 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8089d7e43f9ac2a6eedd3b0598c46694 inherit pub_methods_classecs_1_1_component" id="r_a8089d7e43f9ac2a6eedd3b0598c46694"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a8089d7e43f9ac2a6eedd3b0598c46694 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00029">29</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a9b8099cc84f4ca11f9cfca7d80081d6b" name="a9b8099cc84f4ca11f9cfca7d80081d6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b8099cc84f4ca11f9cfca7d80081d6b">&#9670;&#160;</a></span>RenderComponent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::RenderComponent::RenderComponent </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Builder for the <a class="el" href="classecs_1_1_render_component.html">RenderComponent</a> class. </p>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00034">34</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 34</span>: m_model(<span class="keyword">nullptr</span>), m_isVisible(<span class="keyword">true</span>) {}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae01aca10690322ec92899e99bf5e244e" name="ae01aca10690322ec92899e99bf5e244e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae01aca10690322ec92899e99bf5e244e">&#9670;&#160;</a></span>GetIndexCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int ecs::RenderComponent::GetIndexCount </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the number of vertices in the model. This method retrieves the vertex count from the model. </p><dl class="section return"><dt>Returns</dt><dd>The number of vertices as an integer. </dd></dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00174">174</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 174</span> {</div>
<div class="line"><span class="lineno"> 175</span> <span class="keywordflow">return</span> m_model ? m_model-&gt;GetIndexCount() : 0;</div>
<div class="line"><span class="lineno"> 176</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a2797ae01f7f42594a0291529d0ec8ef0" name="a2797ae01f7f42594a0291529d0ec8ef0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2797ae01f7f42594a0291529d0ec8ef0">&#9670;&#160;</a></span>GetModel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="classmodel__class.html">model_class</a> &gt; ecs::RenderComponent::GetModel </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the model associated with this <a class="el" href="classecs_1_1_render_component.html">RenderComponent</a>. </p><dl class="section return"><dt>Returns</dt><dd>A shared pointer to the <a class="el" href="classmodel__class.html">model_class</a> instance. </dd></dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00113">113</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 113</span>{ <span class="keywordflow">return</span> m_model; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="aa9bc77dc2ea430ec9008bda7993f766c" name="aa9bc77dc2ea430ec9008bda7993f766c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9bc77dc2ea430ec9008bda7993f766c">&#9670;&#160;</a></span>GetModelFilePath()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::string &amp; ecs::RenderComponent::GetModelFilePath </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the file path of the model associated with this <a class="el" href="classecs_1_1_render_component.html">RenderComponent</a>. </p><dl class="section return"><dt>Returns</dt><dd>The file path as a string. </dd></dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00125">125</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 125</span>{ <span class="keywordflow">return</span> m_modelFilePath; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8d3c778be73e8cbb27b3ea102698a7f2" name="a8d3c778be73e8cbb27b3ea102698a7f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d3c778be73e8cbb27b3ea102698a7f2">&#9670;&#160;</a></span>GetTexture()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ID3D11ShaderResourceView * ecs::RenderComponent::GetTexture </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceecs.html#a6e9ad0276f69474fe9498437b7d1a8f2">TextureType</a></td> <td class="paramname"><span class="paramname"><em>type</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>index</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0</span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a texture of a specific type by index. This method retrieves the texture from the model based on the specified type and index. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">type</td><td>The type of texture to retrieve (Diffuse, Normal, Specular, Alpha). </td></tr>
<tr><td class="paramname">index</td><td>The index of the texture to retrieve (default is 0). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the ID3D11ShaderResourceView of the texture, or nullptr if not found. </dd></dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00152">152</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 152</span> {</div>
<div class="line"><span class="lineno"> 153</span> <span class="keywordflow">if</span> (!m_model) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 154</span> </div>
<div class="line"><span class="lineno"> 155</span> <span class="keywordflow">switch</span> (type) {</div>
<div class="line"><span class="lineno"> 156</span> <span class="keywordflow">case</span> TextureType::Diffuse: </div>
<div class="line"><span class="lineno"> 157</span> <span class="keywordflow">return</span> m_model-&gt;GetTexture(::TextureType::Diffuse, index);</div>
<div class="line"><span class="lineno"> 158</span> <span class="keywordflow">case</span> TextureType::Normal: </div>
<div class="line"><span class="lineno"> 159</span> <span class="keywordflow">return</span> m_model-&gt;GetTexture(::TextureType::Normal, index);</div>
<div class="line"><span class="lineno"> 160</span> <span class="keywordflow">case</span> TextureType::Specular: </div>
<div class="line"><span class="lineno"> 161</span> <span class="keywordflow">return</span> m_model-&gt;GetTexture(::TextureType::Specular, index);</div>
<div class="line"><span class="lineno"> 162</span> <span class="keywordflow">case</span> TextureType::Alpha: </div>
<div class="line"><span class="lineno"> 163</span> <span class="keywordflow">return</span> m_model-&gt;GetTexture(::TextureType::Alpha, index);</div>
<div class="line"><span class="lineno"> 164</span> <span class="keywordflow">default</span>: </div>
<div class="line"><span class="lineno"> 165</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 166</span> }</div>
<div class="line"><span class="lineno"> 167</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="aa92950c4ebad0379f626493bda1a79bb" name="aa92950c4ebad0379f626493bda1a79bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa92950c4ebad0379f626493bda1a79bb">&#9670;&#160;</a></span>Initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::RenderComponent::Initialize </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Virtual function to initialize the component. </p>
<p>Reimplemented from <a class="el" href="classecs_1_1_component.html#a9372874f51e5f63584d65fc378d39459">ecs::Component</a>.</p>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00037">37</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 37</span>{}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a0aeb040ec34ba3619f08269e5744597e" name="a0aeb040ec34ba3619f08269e5744597e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0aeb040ec34ba3619f08269e5744597e">&#9670;&#160;</a></span>InitializeFromFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ecs::RenderComponent::InitializeFromFile </td>
<td>(</td>
<td class="paramtype">ID3D11Device *</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ID3D11DeviceContext *</td> <td class="paramname"><span class="paramname"><em>deviceContext</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>modelFilename</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_texture_container.html">TextureContainer</a> &amp;</td> <td class="paramname"><span class="paramname"><em>textureContainer</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the <a class="el" href="classecs_1_1_render_component.html">RenderComponent</a> from a model file. This method checks if the model is already cached; if not, it loads the model from the specified file. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">device</td><td>The Direct3D device used for rendering. </td></tr>
<tr><td class="paramname">deviceContext</td><td>The Direct3D device context used for rendering. </td></tr>
<tr><td class="paramname">modelFilename</td><td>The path to the model file to load. </td></tr>
<tr><td class="paramname">textureContainer</td><td>The container for textures used by the model. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if initialization was successful, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00061">61</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 62</span> {</div>
<div class="line"><span class="lineno"> 63</span> <span class="comment">// V<>rifier si le mod<6F>le existe d<>j<EFBFBD> dans le cache</span></div>
<div class="line"><span class="lineno"> 64</span> std::string filename(modelFilename);</div>
<div class="line"><span class="lineno"> 65</span> <span class="keyword">auto</span> it = g_model_cache.find(filename);</div>
<div class="line"><span class="lineno"> 66</span> <span class="keywordflow">if</span> (it != g_model_cache.end()) {</div>
<div class="line"><span class="lineno"> 67</span> m_model = it-&gt;second;</div>
<div class="line"><span class="lineno"> 68</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><span class="lineno"> 69</span> <span class="comment">// Cr<43>er un nouveau mod<6F>le</span></div>
<div class="line"><span class="lineno"> 70</span> <span class="keyword">auto</span> new_model = std::make_shared&lt;model_class&gt;();</div>
<div class="line"><span class="lineno"> 71</span> <span class="keywordflow">if</span> (!new_model-&gt;Initialize(device, deviceContext, <span class="keyword">const_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span>(modelFilename), textureContainer)) {</div>
<div class="line"><span class="lineno"> 72</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 73</span> }</div>
<div class="line"><span class="lineno"> 74</span> g_model_cache[filename] = new_model;</div>
<div class="line"><span class="lineno"> 75</span> m_model = new_model;</div>
<div class="line"><span class="lineno"> 76</span> }</div>
<div class="line"><span class="lineno"> 77</span> </div>
<div class="line"><span class="lineno"> 78</span> m_modelFilePath = modelFilename;</div>
<div class="line"><span class="lineno"> 79</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 80</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a5014687c529c5dd29c1689da1dd64776" name="a5014687c529c5dd29c1689da1dd64776"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5014687c529c5dd29c1689da1dd64776">&#9670;&#160;</a></span>InitializeWithModel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ecs::RenderComponent::InitializeWithModel </td>
<td>(</td>
<td class="paramtype">std::shared_ptr&lt; <a class="el" href="classmodel__class.html">model_class</a> &gt;</td> <td class="paramname"><span class="paramname"><em>model</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the <a class="el" href="classecs_1_1_render_component.html">RenderComponent</a> with a model. This method allows the component to be initialized with an existing model instance. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">model</td><td>A shared pointer to the <a class="el" href="classmodel__class.html">model_class</a> instance to use. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if initialization was successful, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00046">46</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 46</span> {</div>
<div class="line"><span class="lineno"> 47</span> <span class="keywordflow">if</span> (!model) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 48</span> m_model = model;</div>
<div class="line"><span class="lineno"> 49</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 50</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad77b9089172b2567767aac2ac05118ea" name="ad77b9089172b2567767aac2ac05118ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad77b9089172b2567767aac2ac05118ea">&#9670;&#160;</a></span>IsVisible()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ecs::RenderComponent::IsVisible </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if the model is currently visible. </p><dl class="section return"><dt>Returns</dt><dd>True if the model is visible, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00137">137</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 137</span>{ <span class="keywordflow">return</span> m_isVisible; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a64e1e92929e2384d09c31b8d2afb258d" name="a64e1e92929e2384d09c31b8d2afb258d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64e1e92929e2384d09c31b8d2afb258d">&#9670;&#160;</a></span>LoadTexturesFromPath()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ecs::RenderComponent::LoadTexturesFromPath </td>
<td>(</td>
<td class="paramtype">std::vector&lt; std::wstring &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>texturePaths</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_texture_container.html">TextureContainer</a> &amp;</td> <td class="paramname"><span class="paramname"><em>texturesContainer</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ID3D11Device *</td> <td class="paramname"><span class="paramname"><em>device</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ID3D11DeviceContext *</td> <td class="paramname"><span class="paramname"><em>deviceContext</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Load textures from a list of file paths into the texture container. This method uses DirectX's WIC texture loader to load textures from the specified paths. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">texturePaths</td><td>A vector of file paths to the textures to load. </td></tr>
<tr><td class="paramname">texturesContainer</td><td>The container where the loaded textures will be stored. </td></tr>
<tr><td class="paramname">device</td><td>The Direct3D device used for rendering. </td></tr>
<tr><td class="paramname">deviceContext</td><td>The Direct3D device context used for rendering. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if all textures were loaded successfully, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00091">91</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 92</span> {</div>
<div class="line"><span class="lineno"> 93</span> HRESULT result;</div>
<div class="line"><span class="lineno"> 94</span> </div>
<div class="line"><span class="lineno"> 95</span> <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><span class="lineno"> 96</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; texturePath : texturePaths) {</div>
<div class="line"><span class="lineno"> 97</span> ID3D11ShaderResourceView* texture = <span class="keyword">nullptr</span>;</div>
<div class="line"><span class="lineno"> 98</span> result = DirectX::CreateWICTextureFromFile(device, deviceContext, texturePath.c_str(), <span class="keyword">nullptr</span>, &amp;texture);</div>
<div class="line"><span class="lineno"> 99</span> <span class="keywordflow">if</span> (FAILED(result)) {</div>
<div class="line"><span class="lineno"> 100</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 101</span> }</div>
<div class="line"><span class="lineno"> 102</span> texturesContainer.AssignTexture(texturesContainer, texture, texturePath, i);</div>
<div class="line"><span class="lineno"> 103</span> i++;</div>
<div class="line"><span class="lineno"> 104</span> }</div>
<div class="line"><span class="lineno"> 105</span> </div>
<div class="line"><span class="lineno"> 106</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 107</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a61dc5966b89474a415e3d19d28760a64" name="a61dc5966b89474a415e3d19d28760a64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61dc5966b89474a415e3d19d28760a64">&#9670;&#160;</a></span>Render()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::RenderComponent::Render </td>
<td>(</td>
<td class="paramtype">ID3D11DeviceContext *</td> <td class="paramname"><span class="paramname"><em>deviceContext</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Render the model using the provided device context. This method calls the Render method of the model if it is initialized and visible. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deviceContext</td><td>The Direct3D device context used for rendering. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00183">183</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 183</span> {</div>
<div class="line"><span class="lineno"> 184</span> <span class="keywordflow">if</span> (m_model &amp;&amp; m_isVisible) {</div>
<div class="line"><span class="lineno"> 185</span> m_model-&gt;Render(deviceContext);</div>
<div class="line"><span class="lineno"> 186</span> }</div>
<div class="line"><span class="lineno"> 187</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ab3a01e06c359132815a5a35ed950a19a" name="ab3a01e06c359132815a5a35ed950a19a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3a01e06c359132815a5a35ed950a19a">&#9670;&#160;</a></span>SetModel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::RenderComponent::SetModel </td>
<td>(</td>
<td class="paramtype">std::shared_ptr&lt; <a class="el" href="classmodel__class.html">model_class</a> &gt;</td> <td class="paramname"><span class="paramname"><em>model</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the model for this <a class="el" href="classecs_1_1_render_component.html">RenderComponent</a>. This method allows the component to be set with an existing model instance. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">model</td><td>A shared pointer to the <a class="el" href="classmodel__class.html">model_class</a> instance to set. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00119">119</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 119</span>{ m_model = model; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="acac2902002c2ca0618c41525d1584088" name="acac2902002c2ca0618c41525d1584088"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acac2902002c2ca0618c41525d1584088">&#9670;&#160;</a></span>SetModelFilePath()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::RenderComponent::SetModelFilePath </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the file path of the model for this <a class="el" href="classecs_1_1_render_component.html">RenderComponent</a>. This method allows the component to be set with a specific model file path. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>The file path to set as a string. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00131">131</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 131</span>{ m_modelFilePath = path; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae0beed54f3cfe42213e1767da1b36d46" name="ae0beed54f3cfe42213e1767da1b36d46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0beed54f3cfe42213e1767da1b36d46">&#9670;&#160;</a></span>SetVisible()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::RenderComponent::SetVisible </td>
<td>(</td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>visible</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the visibility of the model. This method allows the component to control whether the model should be rendered or not. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">visible</td><td>True to make the model visible, false to hide it. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00143">143</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 143</span>{ m_isVisible = visible; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a6cfff9944a89629f5f7a7d1451446f0d" name="a6cfff9944a89629f5f7a7d1451446f0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cfff9944a89629f5f7a7d1451446f0d">&#9670;&#160;</a></span>Update()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::RenderComponent::Update </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>deltaTime</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Virtual function to update the component. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deltaTime</td><td>Time since the last update. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classecs_1_1_component.html#a59c0f739c4ff19227e27ed7b9f6352e0">ecs::Component</a>.</p>
<p class="definition">Definition at line <a class="el" href="render__component_8h_source.html#l00038">38</a> of file <a class="el" href="render__component_8h_source.html">render_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 38</span>{}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>enginecustom/src/inc/system/ecs/components/<a class="el" href="render__component_8h_source.html">render_component.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceecs.html">ecs</a></li><li class="navelem"><a class="el" href="classecs_1_1_render_component.html">RenderComponent</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,18 @@
var classecs_1_1_render_component =
[
[ "RenderComponent", "classecs_1_1_render_component.html#a9b8099cc84f4ca11f9cfca7d80081d6b", null ],
[ "GetIndexCount", "classecs_1_1_render_component.html#ae01aca10690322ec92899e99bf5e244e", null ],
[ "GetModel", "classecs_1_1_render_component.html#a2797ae01f7f42594a0291529d0ec8ef0", null ],
[ "GetModelFilePath", "classecs_1_1_render_component.html#aa9bc77dc2ea430ec9008bda7993f766c", null ],
[ "GetTexture", "classecs_1_1_render_component.html#a8d3c778be73e8cbb27b3ea102698a7f2", null ],
[ "Initialize", "classecs_1_1_render_component.html#aa92950c4ebad0379f626493bda1a79bb", null ],
[ "InitializeFromFile", "classecs_1_1_render_component.html#a0aeb040ec34ba3619f08269e5744597e", null ],
[ "InitializeWithModel", "classecs_1_1_render_component.html#a5014687c529c5dd29c1689da1dd64776", null ],
[ "IsVisible", "classecs_1_1_render_component.html#ad77b9089172b2567767aac2ac05118ea", null ],
[ "LoadTexturesFromPath", "classecs_1_1_render_component.html#a64e1e92929e2384d09c31b8d2afb258d", null ],
[ "Render", "classecs_1_1_render_component.html#a61dc5966b89474a415e3d19d28760a64", null ],
[ "SetModel", "classecs_1_1_render_component.html#ab3a01e06c359132815a5a35ed950a19a", null ],
[ "SetModelFilePath", "classecs_1_1_render_component.html#acac2902002c2ca0618c41525d1584088", null ],
[ "SetVisible", "classecs_1_1_render_component.html#ae0beed54f3cfe42213e1767da1b36d46", null ],
[ "Update", "classecs_1_1_render_component.html#a6cfff9944a89629f5f7a7d1451446f0d", null ]
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

View File

@@ -0,0 +1,117 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_render_system.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ecs::RenderSystem Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classecs_1_1_render_system.html">ecs::RenderSystem</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_render_system.html#a8d65c73dad3be4070153c3f568d5a139">RenderAllEntities</a>(EntityManager *entityManager, const DirectX::XMMATRIX &amp;viewMatrix, const DirectX::XMMATRIX &amp;projectionMatrix, const DirectX::XMFLOAT4 *diffuseColors, const DirectX::XMFLOAT4 *lightPositions, const DirectX::XMFLOAT4 *ambientColors, const DirectX::XMFLOAT3 &amp;cameraPos, const DirectX::XMFLOAT4 &amp;sunlightDiffuse, const DirectX::XMFLOAT4 &amp;sunlightAmbient, const DirectX::XMFLOAT3 &amp;sunlightDirection, float sunlightIntensity)</td><td class="entry"><a class="el" href="classecs_1_1_render_system.html">ecs::RenderSystem</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_render_system.html#aef4d62c3ef06a880712d183a2848de2f">RenderEntity</a>(std::shared_ptr&lt; Entity &gt; entity, const DirectX::XMMATRIX &amp;viewMatrix, const DirectX::XMMATRIX &amp;projectionMatrix, const DirectX::XMFLOAT4 *diffuseColors, const DirectX::XMFLOAT4 *lightPositions, const DirectX::XMFLOAT4 *ambientColors, const DirectX::XMFLOAT3 &amp;cameraPosition, const DirectX::XMFLOAT4 &amp;sunlightDiffuse, const DirectX::XMFLOAT4 &amp;sunlightAmbient, const DirectX::XMFLOAT3 &amp;sunlightDirection, float sunlightIntensity)</td><td class="entry"><a class="el" href="classecs_1_1_render_system.html">ecs::RenderSystem</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_render_system.html#a4db69fd99c18112dcbaa931a01bb9780">RenderSystem</a>(ID3D11DeviceContext *deviceContext, shader_manager_class *shaderManager)</td><td class="entry"><a class="el" href="classecs_1_1_render_system.html">ecs::RenderSystem</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,536 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: ecs::RenderSystem Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_render_system.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classecs_1_1_render_system-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ecs::RenderSystem Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4db69fd99c18112dcbaa931a01bb9780" id="r_a4db69fd99c18112dcbaa931a01bb9780"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4db69fd99c18112dcbaa931a01bb9780">RenderSystem</a> (ID3D11DeviceContext *deviceContext, <a class="el" href="classshader__manager__class.html">shader_manager_class</a> *shaderManager)</td></tr>
<tr class="separator:a4db69fd99c18112dcbaa931a01bb9780"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef4d62c3ef06a880712d183a2848de2f" id="r_aef4d62c3ef06a880712d183a2848de2f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aef4d62c3ef06a880712d183a2848de2f">RenderEntity</a> (std::shared_ptr&lt; <a class="el" href="classecs_1_1_entity.html">Entity</a> &gt; entity, const DirectX::XMMATRIX &amp;viewMatrix, const DirectX::XMMATRIX &amp;projectionMatrix, const DirectX::XMFLOAT4 *diffuseColors, const DirectX::XMFLOAT4 *lightPositions, const DirectX::XMFLOAT4 *ambientColors, const DirectX::XMFLOAT3 &amp;cameraPosition, const DirectX::XMFLOAT4 &amp;sunlightDiffuse, const DirectX::XMFLOAT4 &amp;sunlightAmbient, const DirectX::XMFLOAT3 &amp;sunlightDirection, float sunlightIntensity)</td></tr>
<tr class="separator:aef4d62c3ef06a880712d183a2848de2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d65c73dad3be4070153c3f568d5a139" id="r_a8d65c73dad3be4070153c3f568d5a139"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8d65c73dad3be4070153c3f568d5a139">RenderAllEntities</a> (<a class="el" href="classecs_1_1_entity_manager.html">EntityManager</a> *entityManager, const DirectX::XMMATRIX &amp;viewMatrix, const DirectX::XMMATRIX &amp;projectionMatrix, const DirectX::XMFLOAT4 *diffuseColors, const DirectX::XMFLOAT4 *lightPositions, const DirectX::XMFLOAT4 *ambientColors, const DirectX::XMFLOAT3 &amp;cameraPos, const DirectX::XMFLOAT4 &amp;sunlightDiffuse, const DirectX::XMFLOAT4 &amp;sunlightAmbient, const DirectX::XMFLOAT3 &amp;sunlightDirection, float sunlightIntensity)</td></tr>
<tr class="separator:a8d65c73dad3be4070153c3f568d5a139"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="render__system_8h_source.html#l00011">11</a> of file <a class="el" href="render__system_8h_source.html">render_system.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a4db69fd99c18112dcbaa931a01bb9780" name="a4db69fd99c18112dcbaa931a01bb9780"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4db69fd99c18112dcbaa931a01bb9780">&#9670;&#160;</a></span>RenderSystem()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::RenderSystem::RenderSystem </td>
<td>(</td>
<td class="paramtype">ID3D11DeviceContext *</td> <td class="paramname"><span class="paramname"><em>deviceContext</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classshader__manager__class.html">shader_manager_class</a> *</td> <td class="paramname"><span class="paramname"><em>shaderManager</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Builder for the <a class="el" href="classecs_1_1_render_system.html">RenderSystem</a> class. This class is responsible for rendering entities with the necessary components. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deviceContext</td><td></td></tr>
<tr><td class="paramname">shaderManager</td><td></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="render__system_8h_source.html#l00019">19</a> of file <a class="el" href="render__system_8h_source.html">render_system.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 20</span> : m_deviceContext(deviceContext), m_shaderManager(shaderManager) {}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a8d65c73dad3be4070153c3f568d5a139" name="a8d65c73dad3be4070153c3f568d5a139"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d65c73dad3be4070153c3f568d5a139">&#9670;&#160;</a></span>RenderAllEntities()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int ecs::RenderSystem::RenderAllEntities </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classecs_1_1_entity_manager.html">EntityManager</a> *</td> <td class="paramname"><span class="paramname"><em>entityManager</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMMATRIX &amp;</td> <td class="paramname"><span class="paramname"><em>viewMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMMATRIX &amp;</td> <td class="paramname"><span class="paramname"><em>projectionMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT4 *</td> <td class="paramname"><span class="paramname"><em>diffuseColors</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT4 *</td> <td class="paramname"><span class="paramname"><em>lightPositions</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT4 *</td> <td class="paramname"><span class="paramname"><em>ambientColors</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT3 &amp;</td> <td class="paramname"><span class="paramname"><em>cameraPos</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT4 &amp;</td> <td class="paramname"><span class="paramname"><em>sunlightDiffuse</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT4 &amp;</td> <td class="paramname"><span class="paramname"><em>sunlightAmbient</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT3 &amp;</td> <td class="paramname"><span class="paramname"><em>sunlightDirection</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>sunlightIntensity</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Render all entities in the <a class="el" href="classecs_1_1_entity_manager.html">EntityManager</a> that have the necessary components. This method iterates through all entities and renders them if they have the required components. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entityManager</td><td>The <a class="el" href="classecs_1_1_entity_manager.html">EntityManager</a> containing the entities to render. </td></tr>
<tr><td class="paramname">viewMatrix</td><td>The view matrix for rendering. </td></tr>
<tr><td class="paramname">projectionMatrix</td><td>The projection matrix for rendering. </td></tr>
<tr><td class="paramname">diffuseColors</td><td>Array of diffuse colors for lighting. </td></tr>
<tr><td class="paramname">lightPositions</td><td>Array of light positions for lighting. </td></tr>
<tr><td class="paramname">ambientColors</td><td>Array of ambient colors for lighting. </td></tr>
<tr><td class="paramname">cameraPos</td><td>The position of the camera in world space. </td></tr>
<tr><td class="paramname">sunlightDiffuse</td><td>The diffuse color of sunlight. </td></tr>
<tr><td class="paramname">sunlightAmbient</td><td>The ambient color of sunlight. </td></tr>
<tr><td class="paramname">sunlightDirection</td><td>The direction of sunlight in world space. </td></tr>
<tr><td class="paramname">sunlightIntensity</td><td>The intensity of sunlight. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of entities rendered successfully. </dd></dl>
<p class="definition">Definition at line <a class="el" href="render__system_8h_source.html#l00214">214</a> of file <a class="el" href="render__system_8h_source.html">render_system.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 224</span> {</div>
<div class="line"><span class="lineno"> 225</span> </div>
<div class="line"><span class="lineno"> 226</span> <span class="keywordtype">int</span> renderCount = 0;</div>
<div class="line"><span class="lineno"> 227</span> </div>
<div class="line"><span class="lineno"> 228</span> <span class="comment">// R<>cup<75>rer toutes les entit<69>s qui ont les composants RenderComponent et TransformComponent</span></div>
<div class="line"><span class="lineno"> 229</span> <span class="keyword">auto</span> entities = entityManager-&gt;GetEntitiesWithComponent&lt;RenderComponent&gt;();</div>
<div class="line"><span class="lineno"> 230</span> </div>
<div class="line"><span class="lineno"> 231</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; entity : entities) {</div>
<div class="line"><span class="lineno"> 232</span> <span class="keyword">auto</span> render = entity-&gt;GetComponent&lt;RenderComponent&gt;();</div>
<div class="line"><span class="lineno"> 233</span> </div>
<div class="line"><span class="lineno"> 234</span> <span class="comment">// V<>rifier si l&#39;entit<EFBFBD> a un TransformComponent</span></div>
<div class="line"><span class="lineno"> 235</span> <span class="keyword">auto</span> transform = entity-&gt;GetComponent&lt;TransformComponent&gt;();</div>
<div class="line"><span class="lineno"> 236</span> <span class="keywordflow">if</span> (!transform) <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 237</span> </div>
<div class="line"><span class="lineno"> 238</span> <span class="comment">// V<>rifier si le mod<6F>le est visible</span></div>
<div class="line"><span class="lineno"> 239</span> <span class="keywordflow">if</span> (!render-&gt;IsVisible()) <span class="keywordflow">continue</span>;</div>
<div class="line"><span class="lineno"> 240</span> </div>
<div class="line"><span class="lineno"> 241</span> <span class="comment">// Effectuer le rendu</span></div>
<div class="line"><span class="lineno"> 242</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="#aef4d62c3ef06a880712d183a2848de2f">RenderEntity</a>(entity, viewMatrix, projectionMatrix, </div>
<div class="line"><span class="lineno"> 243</span> diffuseColors, lightPositions, ambientColors,cameraPos,</div>
<div class="line"><span class="lineno"> 244</span> sunlightDiffuse, sunlightAmbient, sunlightDirection,</div>
<div class="line"><span class="lineno"> 245</span> sunlightIntensity)) {</div>
<div class="line"><span class="lineno"> 246</span> renderCount++;</div>
<div class="line"><span class="lineno"> 247</span> }</div>
<div class="line"><span class="lineno"> 248</span> }</div>
<div class="line"><span class="lineno"> 249</span> </div>
<div class="line"><span class="lineno"> 250</span> <span class="keywordflow">return</span> renderCount;</div>
<div class="line"><span class="lineno"> 251</span> }</div>
<div class="ttc" id="aclassecs_1_1_render_system_html_aef4d62c3ef06a880712d183a2848de2f"><div class="ttname"><a href="#aef4d62c3ef06a880712d183a2848de2f">ecs::RenderSystem::RenderEntity</a></div><div class="ttdeci">bool RenderEntity(std::shared_ptr&lt; Entity &gt; entity, const DirectX::XMMATRIX &amp;viewMatrix, const DirectX::XMMATRIX &amp;projectionMatrix, const DirectX::XMFLOAT4 *diffuseColors, const DirectX::XMFLOAT4 *lightPositions, const DirectX::XMFLOAT4 *ambientColors, const DirectX::XMFLOAT3 &amp;cameraPosition, const DirectX::XMFLOAT4 &amp;sunlightDiffuse, const DirectX::XMFLOAT4 &amp;sunlightAmbient, const DirectX::XMFLOAT3 &amp;sunlightDirection, float sunlightIntensity)</div><div class="ttdef"><b>Definition</b> <a href="render__system_8h_source.html#l00038">render_system.h:38</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aef4d62c3ef06a880712d183a2848de2f" name="aef4d62c3ef06a880712d183a2848de2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef4d62c3ef06a880712d183a2848de2f">&#9670;&#160;</a></span>RenderEntity()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ecs::RenderSystem::RenderEntity </td>
<td>(</td>
<td class="paramtype">std::shared_ptr&lt; <a class="el" href="classecs_1_1_entity.html">Entity</a> &gt;</td> <td class="paramname"><span class="paramname"><em>entity</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMMATRIX &amp;</td> <td class="paramname"><span class="paramname"><em>viewMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMMATRIX &amp;</td> <td class="paramname"><span class="paramname"><em>projectionMatrix</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT4 *</td> <td class="paramname"><span class="paramname"><em>diffuseColors</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT4 *</td> <td class="paramname"><span class="paramname"><em>lightPositions</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT4 *</td> <td class="paramname"><span class="paramname"><em>ambientColors</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT3 &amp;</td> <td class="paramname"><span class="paramname"><em>cameraPosition</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT4 &amp;</td> <td class="paramname"><span class="paramname"><em>sunlightDiffuse</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT4 &amp;</td> <td class="paramname"><span class="paramname"><em>sunlightAmbient</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DirectX::XMFLOAT3 &amp;</td> <td class="paramname"><span class="paramname"><em>sunlightDirection</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>sunlightIntensity</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Render an entity with the necessary components. This method checks if the entity has the required components and renders it using the appropriate shader. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entity</td><td>The entity to render. </td></tr>
<tr><td class="paramname">viewMatrix</td><td>The view matrix for rendering. </td></tr>
<tr><td class="paramname">projectionMatrix</td><td>The projection matrix for rendering. </td></tr>
<tr><td class="paramname">diffuseColors</td><td>Array of diffuse colors for lighting. </td></tr>
<tr><td class="paramname">lightPositions</td><td>Array of light positions for lighting. </td></tr>
<tr><td class="paramname">ambientColors</td><td>Array of ambient colors for lighting. </td></tr>
<tr><td class="paramname">cameraPosition</td><td>The position of the camera in world space. </td></tr>
<tr><td class="paramname">sunlightDiffuse</td><td>The diffuse color of sunlight. </td></tr>
<tr><td class="paramname">sunlightAmbient</td><td>The ambient color of sunlight. </td></tr>
<tr><td class="paramname">sunlightDirection</td><td>The direction of sunlight in world space. </td></tr>
<tr><td class="paramname">sunlightIntensity</td><td>The intensity of sunlight. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if rendering was successful, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="render__system_8h_source.html#l00038">38</a> of file <a class="el" href="render__system_8h_source.html">render_system.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 48</span> {</div>
<div class="line"><span class="lineno"> 49</span> </div>
<div class="line"><span class="lineno"> 50</span> <span class="comment">// V<>rifier si l&#39;entit<EFBFBD> a tous les composants n<>cessaires</span></div>
<div class="line"><span class="lineno"> 51</span> <span class="keyword">auto</span> transform = entity-&gt;GetComponent&lt;TransformComponent&gt;();</div>
<div class="line"><span class="lineno"> 52</span> <span class="keyword">auto</span> render = entity-&gt;GetComponent&lt;RenderComponent&gt;();</div>
<div class="line"><span class="lineno"> 53</span> <span class="keyword">auto</span> shader = entity-&gt;GetComponent&lt;ShaderComponent&gt;();</div>
<div class="line"><span class="lineno"> 54</span> </div>
<div class="line"><span class="lineno"> 55</span> <span class="keywordflow">if</span> (!transform || !render || !shader || !render-&gt;GetModel())</div>
<div class="line"><span class="lineno"> 56</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 57</span> </div>
<div class="line"><span class="lineno"> 58</span> <span class="comment">// Calculer la matrice monde</span></div>
<div class="line"><span class="lineno"> 59</span> XMMATRIX scaleMatrix = transform-&gt;GetScaleMatrix();</div>
<div class="line"><span class="lineno"> 60</span> XMMATRIX rotateMatrix = transform-&gt;GetRotateMatrix();</div>
<div class="line"><span class="lineno"> 61</span> XMMATRIX translateMatrix = transform-&gt;GetTranslateMatrix();</div>
<div class="line"><span class="lineno"> 62</span> </div>
<div class="line"><span class="lineno"> 63</span> XMMATRIX worldMatrix = XMMatrixMultiply(</div>
<div class="line"><span class="lineno"> 64</span> XMMatrixMultiply(scaleMatrix, rotateMatrix),</div>
<div class="line"><span class="lineno"> 65</span> translateMatrix</div>
<div class="line"><span class="lineno"> 66</span> );</div>
<div class="line"><span class="lineno"> 67</span> </div>
<div class="line"><span class="lineno"> 68</span> <span class="comment">// Rendre le mod<6F>le</span></div>
<div class="line"><span class="lineno"> 69</span> render-&gt;Render(m_deviceContext);</div>
<div class="line"><span class="lineno"> 70</span> </div>
<div class="line"><span class="lineno"> 71</span> <span class="comment">// S<>lectionner le shader appropri<72></span></div>
<div class="line"><span class="lineno"> 72</span> <span class="keywordflow">switch</span> (shader-&gt;GetActiveShader()) {</div>
<div class="line"><span class="lineno"> 73</span> <span class="keywordflow">case</span> ShaderType::ALPHA_MAPPING:</div>
<div class="line"><span class="lineno"> 74</span> <span class="keywordflow">return</span> m_shaderManager-&gt;render_alpha_map_shader(</div>
<div class="line"><span class="lineno"> 75</span> m_deviceContext,</div>
<div class="line"><span class="lineno"> 76</span> render-&gt;GetIndexCount(),</div>
<div class="line"><span class="lineno"> 77</span> worldMatrix,</div>
<div class="line"><span class="lineno"> 78</span> viewMatrix,</div>
<div class="line"><span class="lineno"> 79</span> projectionMatrix,</div>
<div class="line"><span class="lineno"> 80</span> render-&gt;GetTexture(TextureType::Diffuse, 0),</div>
<div class="line"><span class="lineno"> 81</span> render-&gt;GetTexture(TextureType::Diffuse, 1),</div>
<div class="line"><span class="lineno"> 82</span> render-&gt;GetTexture(TextureType::Alpha, 0)</div>
<div class="line"><span class="lineno"> 83</span> );</div>
<div class="line"><span class="lineno"> 84</span> </div>
<div class="line"><span class="lineno"> 85</span> <span class="keywordflow">case</span> ShaderType::CEL_SHADING:</div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">return</span> m_shaderManager-&gt;render_cel_shading_shader(</div>
<div class="line"><span class="lineno"> 87</span> m_deviceContext,</div>
<div class="line"><span class="lineno"> 88</span> render-&gt;GetIndexCount(),</div>
<div class="line"><span class="lineno"> 89</span> worldMatrix,</div>
<div class="line"><span class="lineno"> 90</span> viewMatrix,</div>
<div class="line"><span class="lineno"> 91</span> projectionMatrix,</div>
<div class="line"><span class="lineno"> 92</span> render-&gt;GetTexture(TextureType::Diffuse, 0),</div>
<div class="line"><span class="lineno"> 93</span> sunlightDiffuse,</div>
<div class="line"><span class="lineno"> 94</span> sunlightAmbient,</div>
<div class="line"><span class="lineno"> 95</span> sunlightDirection,</div>
<div class="line"><span class="lineno"> 96</span> sunlightIntensity</div>
<div class="line"><span class="lineno"> 97</span> );</div>
<div class="line"><span class="lineno"> 98</span> </div>
<div class="line"><span class="lineno"> 99</span> <span class="keywordflow">case</span> ShaderType::NORMAL_MAPPING:</div>
<div class="line"><span class="lineno"> 100</span> <span class="keywordflow">return</span> m_shaderManager-&gt;render_normal_map_shader(</div>
<div class="line"><span class="lineno"> 101</span> m_deviceContext,</div>
<div class="line"><span class="lineno"> 102</span> render-&gt;GetIndexCount(),</div>
<div class="line"><span class="lineno"> 103</span> worldMatrix,</div>
<div class="line"><span class="lineno"> 104</span> viewMatrix,</div>
<div class="line"><span class="lineno"> 105</span> projectionMatrix,</div>
<div class="line"><span class="lineno"> 106</span> render-&gt;GetTexture(TextureType::Diffuse, 0),</div>
<div class="line"><span class="lineno"> 107</span> render-&gt;GetTexture(TextureType::Normal, 0),</div>
<div class="line"><span class="lineno"> 108</span> sunlightDirection,</div>
<div class="line"><span class="lineno"> 109</span> sunlightDiffuse</div>
<div class="line"><span class="lineno"> 110</span> );</div>
<div class="line"><span class="lineno"> 111</span> </div>
<div class="line"><span class="lineno"> 112</span> <span class="keywordflow">case</span> ShaderType::SPECULAR_MAPPING:</div>
<div class="line"><span class="lineno"> 113</span> </div>
<div class="line"><span class="lineno"> 114</span> <span class="keywordflow">return</span> m_shaderManager-&gt;render_spec_map_shader(</div>
<div class="line"><span class="lineno"> 115</span> m_deviceContext,</div>
<div class="line"><span class="lineno"> 116</span> render-&gt;GetIndexCount(),</div>
<div class="line"><span class="lineno"> 117</span> worldMatrix,</div>
<div class="line"><span class="lineno"> 118</span> viewMatrix,</div>
<div class="line"><span class="lineno"> 119</span> projectionMatrix,</div>
<div class="line"><span class="lineno"> 120</span> render-&gt;GetTexture(TextureType::Diffuse, 0),</div>
<div class="line"><span class="lineno"> 121</span> render-&gt;GetTexture(TextureType::Normal, 0),</div>
<div class="line"><span class="lineno"> 122</span> render-&gt;GetTexture(TextureType::Specular, 0),</div>
<div class="line"><span class="lineno"> 123</span> sunlightDirection,</div>
<div class="line"><span class="lineno"> 124</span> sunlightDiffuse,</div>
<div class="line"><span class="lineno"> 125</span> cameraPosition,</div>
<div class="line"><span class="lineno"> 126</span> sunlightDiffuse, <span class="comment">// Couleur speculaire (<28> ajuster)</span></div>
<div class="line"><span class="lineno"> 127</span> 16.0f <span class="comment">// Puissance speculaire (<28> ajuster)</span></div>
<div class="line"><span class="lineno"> 128</span> );</div>
<div class="line"><span class="lineno"> 129</span> </div>
<div class="line"><span class="lineno"> 130</span> <span class="keywordflow">case</span> ShaderType::LIGHTING:</div>
<div class="line"><span class="lineno"> 131</span> {</div>
<div class="line"><span class="lineno"> 132</span> <span class="comment">// Cr<43>er des copies locales non constantes des tableaux</span></div>
<div class="line"><span class="lineno"> 133</span> DirectX::XMFLOAT4 localDiffuseColors[4];</div>
<div class="line"><span class="lineno"> 134</span> DirectX::XMFLOAT4 localLightPositions[4];</div>
<div class="line"><span class="lineno"> 135</span> DirectX::XMFLOAT4 localAmbientColors[4];</div>
<div class="line"><span class="lineno"> 136</span> </div>
<div class="line"><span class="lineno"> 137</span> <span class="comment">// Copier les donn<6E>es</span></div>
<div class="line"><span class="lineno"> 138</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 4; i++) {</div>
<div class="line"><span class="lineno"> 139</span> localDiffuseColors[i] = diffuseColors[i];</div>
<div class="line"><span class="lineno"> 140</span> localLightPositions[i] = lightPositions[i];</div>
<div class="line"><span class="lineno"> 141</span> localAmbientColors[i] = ambientColors[i];</div>
<div class="line"><span class="lineno"> 142</span> }</div>
<div class="line"><span class="lineno"> 143</span> </div>
<div class="line"><span class="lineno"> 144</span> <span class="keywordflow">return</span> m_shaderManager-&gt;renderlight_shader(</div>
<div class="line"><span class="lineno"> 145</span> m_deviceContext,</div>
<div class="line"><span class="lineno"> 146</span> render-&gt;GetIndexCount(),</div>
<div class="line"><span class="lineno"> 147</span> worldMatrix,</div>
<div class="line"><span class="lineno"> 148</span> viewMatrix,</div>
<div class="line"><span class="lineno"> 149</span> projectionMatrix,</div>
<div class="line"><span class="lineno"> 150</span> render-&gt;GetTexture(TextureType::Diffuse, 0),</div>
<div class="line"><span class="lineno"> 151</span> localDiffuseColors,</div>
<div class="line"><span class="lineno"> 152</span> localLightPositions,</div>
<div class="line"><span class="lineno"> 153</span> localAmbientColors</div>
<div class="line"><span class="lineno"> 154</span> );</div>
<div class="line"><span class="lineno"> 155</span> }</div>
<div class="line"><span class="lineno"> 156</span> </div>
<div class="line"><span class="lineno"> 157</span> <span class="keywordflow">case</span> ShaderType::SUNLIGHT:</div>
<div class="line"><span class="lineno"> 158</span> <span class="keywordflow">return</span> m_shaderManager-&gt;render_sunlight_shader(</div>
<div class="line"><span class="lineno"> 159</span> m_deviceContext,</div>
<div class="line"><span class="lineno"> 160</span> render-&gt;GetIndexCount(),</div>
<div class="line"><span class="lineno"> 161</span> worldMatrix,</div>
<div class="line"><span class="lineno"> 162</span> viewMatrix,</div>
<div class="line"><span class="lineno"> 163</span> projectionMatrix,</div>
<div class="line"><span class="lineno"> 164</span> render-&gt;GetTexture(TextureType::Diffuse, 0),</div>
<div class="line"><span class="lineno"> 165</span> sunlightDiffuse,</div>
<div class="line"><span class="lineno"> 166</span> sunlightAmbient,</div>
<div class="line"><span class="lineno"> 167</span> sunlightDirection,</div>
<div class="line"><span class="lineno"> 168</span> sunlightIntensity</div>
<div class="line"><span class="lineno"> 169</span> );</div>
<div class="line"><span class="lineno"> 170</span> </div>
<div class="line"><span class="lineno"> 171</span> <span class="keywordflow">case</span> ShaderType::SKYBOX:</div>
<div class="line"><span class="lineno"> 172</span> <span class="keywordflow">return</span> m_shaderManager-&gt;render_skybox_shader(</div>
<div class="line"><span class="lineno"> 173</span> m_deviceContext,</div>
<div class="line"><span class="lineno"> 174</span> render-&gt;GetIndexCount(),</div>
<div class="line"><span class="lineno"> 175</span> worldMatrix,</div>
<div class="line"><span class="lineno"> 176</span> viewMatrix,</div>
<div class="line"><span class="lineno"> 177</span> projectionMatrix,</div>
<div class="line"><span class="lineno"> 178</span> render-&gt;GetTexture(TextureType::Diffuse, 0),</div>
<div class="line"><span class="lineno"> 179</span> sunlightDiffuse,</div>
<div class="line"><span class="lineno"> 180</span> sunlightAmbient,</div>
<div class="line"><span class="lineno"> 181</span> sunlightDirection,</div>
<div class="line"><span class="lineno"> 182</span> sunlightIntensity</div>
<div class="line"><span class="lineno"> 183</span> );</div>
<div class="line"><span class="lineno"> 184</span> </div>
<div class="line"><span class="lineno"> 185</span> <span class="keywordflow">case</span> ShaderType::TEXTURE:</div>
<div class="line"><span class="lineno"> 186</span> <span class="keywordflow">default</span>:</div>
<div class="line"><span class="lineno"> 187</span> <span class="keywordflow">return</span> m_shaderManager-&gt;render_texture_shader(</div>
<div class="line"><span class="lineno"> 188</span> m_deviceContext,</div>
<div class="line"><span class="lineno"> 189</span> render-&gt;GetIndexCount(),</div>
<div class="line"><span class="lineno"> 190</span> worldMatrix,</div>
<div class="line"><span class="lineno"> 191</span> viewMatrix,</div>
<div class="line"><span class="lineno"> 192</span> projectionMatrix,</div>
<div class="line"><span class="lineno"> 193</span> render-&gt;GetTexture(TextureType::Diffuse, 0)</div>
<div class="line"><span class="lineno"> 194</span> );</div>
<div class="line"><span class="lineno"> 195</span> }</div>
<div class="line"><span class="lineno"> 196</span> }</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>enginecustom/src/inc/system/ecs/systems/<a class="el" href="render__system_8h_source.html">render_system.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceecs.html">ecs</a></li><li class="navelem"><a class="el" href="classecs_1_1_render_system.html">RenderSystem</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,6 @@
var classecs_1_1_render_system =
[
[ "RenderSystem", "classecs_1_1_render_system.html#a4db69fd99c18112dcbaa931a01bb9780", null ],
[ "RenderAllEntities", "classecs_1_1_render_system.html#a8d65c73dad3be4070153c3f568d5a139", null ],
[ "RenderEntity", "classecs_1_1_render_system.html#aef4d62c3ef06a880712d183a2848de2f", null ]
];

View File

@@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_shader_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ecs::ShaderComponent Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classecs_1_1_shader_component.html">ecs::ShaderComponent</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>Component</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_shader_component.html#aad636c8a9e23f0ef494a2fe66d1ae6b4">GetActiveShader</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_shader_component.html">ecs::ShaderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_shader_component.html#a69a5ca163458465936525b14270fe46e">Initialize</a>() override</td><td class="entry"><a class="el" href="classecs_1_1_shader_component.html">ecs::ShaderComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_shader_component.html#a4664380323123817e65900a12fa9496f">SetActiveShader</a>(ShaderType shader)</td><td class="entry"><a class="el" href="classecs_1_1_shader_component.html">ecs::ShaderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_shader_component.html#a58198e14a710f43735b0e22d5f9d8296">ShaderComponent</a>()</td><td class="entry"><a class="el" href="classecs_1_1_shader_component.html">ecs::ShaderComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_shader_component.html#a08335ddbedf7eecadcd0db95c4d45c63">ShaderTypeToString</a>(ShaderType type)</td><td class="entry"><a class="el" href="classecs_1_1_shader_component.html">ecs::ShaderComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_shader_component.html#abd16c8adfd191f96594716b235780950">StringToShaderType</a>(const std::string &amp;str)</td><td class="entry"><a class="el" href="classecs_1_1_shader_component.html">ecs::ShaderComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_shader_component.html#a2ebc1ef592626fc729884677c771ccbf">Update</a>(float deltaTime) override</td><td class="entry"><a class="el" href="classecs_1_1_shader_component.html">ecs::ShaderComponent</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~ShaderComponent</b>()=default (defined in <a class="el" href="classecs_1_1_shader_component.html">ecs::ShaderComponent</a>)</td><td class="entry"><a class="el" href="classecs_1_1_shader_component.html">ecs::ShaderComponent</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,422 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: ecs::ShaderComponent Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_shader_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classecs_1_1_shader_component-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ecs::ShaderComponent Class Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for ecs::ShaderComponent:</div>
<div class="dyncontent">
<div class="center">
<img src="classecs_1_1_shader_component.png" usemap="#ecs::ShaderComponent_map" alt=""/>
<map id="ecs::ShaderComponent_map" name="ecs::ShaderComponent_map">
<area href="classecs_1_1_component.html" alt="ecs::Component" shape="rect" coords="0,0,142,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a58198e14a710f43735b0e22d5f9d8296" id="r_a58198e14a710f43735b0e22d5f9d8296"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a58198e14a710f43735b0e22d5f9d8296">ShaderComponent</a> ()</td></tr>
<tr class="separator:a58198e14a710f43735b0e22d5f9d8296"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69a5ca163458465936525b14270fe46e" id="r_a69a5ca163458465936525b14270fe46e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a69a5ca163458465936525b14270fe46e">Initialize</a> () override</td></tr>
<tr class="separator:a69a5ca163458465936525b14270fe46e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ebc1ef592626fc729884677c771ccbf" id="r_a2ebc1ef592626fc729884677c771ccbf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2ebc1ef592626fc729884677c771ccbf">Update</a> (float deltaTime) override</td></tr>
<tr class="separator:a2ebc1ef592626fc729884677c771ccbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad636c8a9e23f0ef494a2fe66d1ae6b4" id="r_aad636c8a9e23f0ef494a2fe66d1ae6b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceecs.html#a80994feeebc2747495a80b5d4b2a8440">ShaderType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aad636c8a9e23f0ef494a2fe66d1ae6b4">GetActiveShader</a> () const</td></tr>
<tr class="separator:aad636c8a9e23f0ef494a2fe66d1ae6b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4664380323123817e65900a12fa9496f" id="r_a4664380323123817e65900a12fa9496f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4664380323123817e65900a12fa9496f">SetActiveShader</a> (<a class="el" href="namespaceecs.html#a80994feeebc2747495a80b5d4b2a8440">ShaderType</a> shader)</td></tr>
<tr class="separator:a4664380323123817e65900a12fa9496f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classecs_1_1_component"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classecs_1_1_component')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classecs_1_1_component.html">ecs::Component</a></td></tr>
<tr class="memitem:a8dbee43fa54890ad07145aa1160b0b09 inherit pub_methods_classecs_1_1_component" id="r_a8dbee43fa54890ad07145aa1160b0b09"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a8dbee43fa54890ad07145aa1160b0b09 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34000da33471994c2550e416505026ad inherit pub_methods_classecs_1_1_component" id="r_a34000da33471994c2550e416505026ad"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classecs_1_1_component.html">Component</a> &amp;)=delete</td></tr>
<tr class="separator:a34000da33471994c2550e416505026ad inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a213cfa3482dca1ffc458b9cf020b4814 inherit pub_methods_classecs_1_1_component" id="r_a213cfa3482dca1ffc458b9cf020b4814"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Component</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a213cfa3482dca1ffc458b9cf020b4814 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8089d7e43f9ac2a6eedd3b0598c46694 inherit pub_methods_classecs_1_1_component" id="r_a8089d7e43f9ac2a6eedd3b0598c46694"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classecs_1_1_component.html">Component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a8089d7e43f9ac2a6eedd3b0598c46694 inherit pub_methods_classecs_1_1_component"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:abd16c8adfd191f96594716b235780950" id="r_abd16c8adfd191f96594716b235780950"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceecs.html#a80994feeebc2747495a80b5d4b2a8440">ShaderType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abd16c8adfd191f96594716b235780950">StringToShaderType</a> (const std::string &amp;str)</td></tr>
<tr class="separator:abd16c8adfd191f96594716b235780950"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08335ddbedf7eecadcd0db95c4d45c63" id="r_a08335ddbedf7eecadcd0db95c4d45c63"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a08335ddbedf7eecadcd0db95c4d45c63">ShaderTypeToString</a> (<a class="el" href="namespaceecs.html#a80994feeebc2747495a80b5d4b2a8440">ShaderType</a> type)</td></tr>
<tr class="separator:a08335ddbedf7eecadcd0db95c4d45c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="shader__component_8h_source.html#l00024">24</a> of file <a class="el" href="shader__component_8h_source.html">shader_component.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a58198e14a710f43735b0e22d5f9d8296" name="a58198e14a710f43735b0e22d5f9d8296"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58198e14a710f43735b0e22d5f9d8296">&#9670;&#160;</a></span>ShaderComponent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ecs::ShaderComponent::ShaderComponent </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Builder for the <a class="el" href="classecs_1_1_shader_component.html">ShaderComponent</a> class. Initializes the active shader to LIGHTING by default. </p>
<p class="definition">Definition at line <a class="el" href="shader__component_8h_source.html#l00031">31</a> of file <a class="el" href="shader__component_8h_source.html">shader_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 31</span>: m_activeShader(ShaderType::LIGHTING) {}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aad636c8a9e23f0ef494a2fe66d1ae6b4" name="aad636c8a9e23f0ef494a2fe66d1ae6b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad636c8a9e23f0ef494a2fe66d1ae6b4">&#9670;&#160;</a></span>GetActiveShader()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceecs.html#a80994feeebc2747495a80b5d4b2a8440">ShaderType</a> ecs::ShaderComponent::GetActiveShader </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the currently active shader type. </p><dl class="section return"><dt>Returns</dt><dd>The active shader type as a ShaderType enum. </dd></dl>
<p class="definition">Definition at line <a class="el" href="shader__component_8h_source.html#l00041">41</a> of file <a class="el" href="shader__component_8h_source.html">shader_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 41</span>{ <span class="keywordflow">return</span> m_activeShader; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a69a5ca163458465936525b14270fe46e" name="a69a5ca163458465936525b14270fe46e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69a5ca163458465936525b14270fe46e">&#9670;&#160;</a></span>Initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::ShaderComponent::Initialize </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Virtual function to initialize the component. </p>
<p>Reimplemented from <a class="el" href="classecs_1_1_component.html#a9372874f51e5f63584d65fc378d39459">ecs::Component</a>.</p>
<p class="definition">Definition at line <a class="el" href="shader__component_8h_source.html#l00034">34</a> of file <a class="el" href="shader__component_8h_source.html">shader_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 34</span>{}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a4664380323123817e65900a12fa9496f" name="a4664380323123817e65900a12fa9496f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4664380323123817e65900a12fa9496f">&#9670;&#160;</a></span>SetActiveShader()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::ShaderComponent::SetActiveShader </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceecs.html#a80994feeebc2747495a80b5d4b2a8440">ShaderType</a></td> <td class="paramname"><span class="paramname"><em>shader</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the active shader type. This method allows changing the shader type used for rendering. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">shader</td><td>The shader type to set as a ShaderType enum. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="shader__component_8h_source.html#l00047">47</a> of file <a class="el" href="shader__component_8h_source.html">shader_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 47</span>{ m_activeShader = shader; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a08335ddbedf7eecadcd0db95c4d45c63" name="a08335ddbedf7eecadcd0db95c4d45c63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08335ddbedf7eecadcd0db95c4d45c63">&#9670;&#160;</a></span>ShaderTypeToString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::string ecs::ShaderComponent::ShaderTypeToString </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceecs.html#a80994feeebc2747495a80b5d4b2a8440">ShaderType</a></td> <td class="paramname"><span class="paramname"><em>type</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert a ShaderType enum to its string representation. This method provides a string name for each shader type. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">type</td><td>The shader type as a ShaderType enum. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The name of the shader type as a string. </dd></dl>
<p class="definition">Definition at line <a class="el" href="shader__component_8h_source.html#l00075">75</a> of file <a class="el" href="shader__component_8h_source.html">shader_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 75</span> {</div>
<div class="line"><span class="lineno"> 76</span> <span class="keywordflow">switch</span> (type) {</div>
<div class="line"><span class="lineno"> 77</span> <span class="keywordflow">case</span> ShaderType::ALPHA_MAPPING: <span class="keywordflow">return</span> <span class="stringliteral">&quot;ALPHA_MAPPING&quot;</span>;</div>
<div class="line"><span class="lineno"> 78</span> <span class="keywordflow">case</span> ShaderType::CEL_SHADING: <span class="keywordflow">return</span> <span class="stringliteral">&quot;CEL_SHADING&quot;</span>;</div>
<div class="line"><span class="lineno"> 79</span> <span class="keywordflow">case</span> ShaderType::NORMAL_MAPPING: <span class="keywordflow">return</span> <span class="stringliteral">&quot;NORMAL_MAPPING&quot;</span>;</div>
<div class="line"><span class="lineno"> 80</span> <span class="keywordflow">case</span> ShaderType::SPECULAR_MAPPING: <span class="keywordflow">return</span> <span class="stringliteral">&quot;SPECULAR_MAPPING&quot;</span>;</div>
<div class="line"><span class="lineno"> 81</span> <span class="keywordflow">case</span> ShaderType::TEXTURE: <span class="keywordflow">return</span> <span class="stringliteral">&quot;TEXTURE&quot;</span>;</div>
<div class="line"><span class="lineno"> 82</span> <span class="keywordflow">case</span> ShaderType::LIGHTING: <span class="keywordflow">return</span> <span class="stringliteral">&quot;LIGHTING&quot;</span>;</div>
<div class="line"><span class="lineno"> 83</span> <span class="keywordflow">case</span> ShaderType::SUNLIGHT: <span class="keywordflow">return</span> <span class="stringliteral">&quot;SUNLIGHT&quot;</span>;</div>
<div class="line"><span class="lineno"> 84</span> <span class="keywordflow">case</span> ShaderType::SKYBOX: <span class="keywordflow">return</span> <span class="stringliteral">&quot;SKYBOX&quot;</span>;</div>
<div class="line"><span class="lineno"> 85</span> <span class="keywordflow">case</span> ShaderType::REFLECTION: <span class="keywordflow">return</span> <span class="stringliteral">&quot;REFLECTION&quot;</span>;</div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">case</span> ShaderType::REFRACTION: <span class="keywordflow">return</span> <span class="stringliteral">&quot;REFRACTION&quot;</span>;</div>
<div class="line"><span class="lineno"> 87</span> <span class="keywordflow">default</span>: <span class="keywordflow">return</span> <span class="stringliteral">&quot;TEXTURE&quot;</span>;</div>
<div class="line"><span class="lineno"> 88</span> }</div>
<div class="line"><span class="lineno"> 89</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="abd16c8adfd191f96594716b235780950" name="abd16c8adfd191f96594716b235780950"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd16c8adfd191f96594716b235780950">&#9670;&#160;</a></span>StringToShaderType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="namespaceecs.html#a80994feeebc2747495a80b5d4b2a8440">ShaderType</a> ecs::ShaderComponent::StringToShaderType </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the active shader type from a string. This method converts a string representation of a shader type to the corresponding ShaderType enum. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">shaderName</td><td>The name of the shader type as a string. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The ShaderType enum corresponding to the provided string. </dd></dl>
<p class="definition">Definition at line <a class="el" href="shader__component_8h_source.html#l00055">55</a> of file <a class="el" href="shader__component_8h_source.html">shader_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 55</span> {</div>
<div class="line"><span class="lineno"> 56</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;ALPHA_MAPPING&quot;</span>) <span class="keywordflow">return</span> ShaderType::ALPHA_MAPPING;</div>
<div class="line"><span class="lineno"> 57</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;CEL_SHADING&quot;</span>) <span class="keywordflow">return</span> ShaderType::CEL_SHADING;</div>
<div class="line"><span class="lineno"> 58</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;NORMAL_MAPPING&quot;</span>) <span class="keywordflow">return</span> ShaderType::NORMAL_MAPPING;</div>
<div class="line"><span class="lineno"> 59</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;SPECULAR_MAPPING&quot;</span>) <span class="keywordflow">return</span> ShaderType::SPECULAR_MAPPING;</div>
<div class="line"><span class="lineno"> 60</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;TEXTURE&quot;</span>) <span class="keywordflow">return</span> ShaderType::TEXTURE;</div>
<div class="line"><span class="lineno"> 61</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;LIGHTING&quot;</span>) <span class="keywordflow">return</span> ShaderType::LIGHTING;</div>
<div class="line"><span class="lineno"> 62</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;SUNLIGHT&quot;</span>) <span class="keywordflow">return</span> ShaderType::SUNLIGHT;</div>
<div class="line"><span class="lineno"> 63</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;SKYBOX&quot;</span>) <span class="keywordflow">return</span> ShaderType::SKYBOX;</div>
<div class="line"><span class="lineno"> 64</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;REFLECTION&quot;</span>) <span class="keywordflow">return</span> ShaderType::REFLECTION;</div>
<div class="line"><span class="lineno"> 65</span> <span class="keywordflow">if</span> (str == <span class="stringliteral">&quot;REFRACTION&quot;</span>) <span class="keywordflow">return</span> ShaderType::REFRACTION;</div>
<div class="line"><span class="lineno"> 66</span> <span class="keywordflow">return</span> ShaderType::TEXTURE;</div>
<div class="line"><span class="lineno"> 67</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a2ebc1ef592626fc729884677c771ccbf" name="a2ebc1ef592626fc729884677c771ccbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ebc1ef592626fc729884677c771ccbf">&#9670;&#160;</a></span>Update()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ecs::ShaderComponent::Update </td>
<td>(</td>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>deltaTime</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Virtual function to update the component. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deltaTime</td><td>Time since the last update. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classecs_1_1_component.html#a59c0f739c4ff19227e27ed7b9f6352e0">ecs::Component</a>.</p>
<p class="definition">Definition at line <a class="el" href="shader__component_8h_source.html#l00035">35</a> of file <a class="el" href="shader__component_8h_source.html">shader_component.h</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 35</span>{}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>enginecustom/src/inc/system/ecs/components/<a class="el" href="shader__component_8h_source.html">shader_component.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceecs.html">ecs</a></li><li class="navelem"><a class="el" href="classecs_1_1_shader_component.html">ShaderComponent</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,8 @@
var classecs_1_1_shader_component =
[
[ "ShaderComponent", "classecs_1_1_shader_component.html#a58198e14a710f43735b0e22d5f9d8296", null ],
[ "GetActiveShader", "classecs_1_1_shader_component.html#aad636c8a9e23f0ef494a2fe66d1ae6b4", null ],
[ "Initialize", "classecs_1_1_shader_component.html#a69a5ca163458465936525b14270fe46e", null ],
[ "SetActiveShader", "classecs_1_1_shader_component.html#a4664380323123817e65900a12fa9496f", null ],
[ "Update", "classecs_1_1_shader_component.html#a2ebc1ef592626fc729884677c771ccbf", null ]
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

View File

@@ -0,0 +1,138 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Khaotic Engine Reborn: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Khaotic Engine Reborn
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classecs_1_1_transform_component.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ecs::TransformComponent Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>Component</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Component</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#a2936d569829c3c440d3bf5bde6353efe">GetPosition</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#aedc64114b30f9aa629caf6548bfc3c07">GetRotateMatrix</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#a50130c13fb3f0d01a473eead605aaa40">GetRotation</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#af5cb7911c9deab8a49c9f8ae3ce099c5">GetScale</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#aca8c9c9d0266636b7431696a6905b419">GetScaleMatrix</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#a2c5c5b5d1081b942ab7d5776d4418044">GetTranslateMatrix</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#a0d9f3426b6952e0468705820835ac331">GetWorldMatrix</a>() const</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_component.html#a9372874f51e5f63584d65fc378d39459">Initialize</a>()</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(const Component &amp;)=delete (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(Component &amp;&amp;)=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#ad825453d2a065640aa71618c00612249">SetPosition</a>(XMVECTOR position)</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#a5d868ff759cb7709328938681d62f913">SetRotateMatrix</a>(XMMATRIX matrix)</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#a67f155836cd31a336324bb1ea4b3741a">SetRotation</a>(XMVECTOR rotation)</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#ac98d110ada557fce53563306700516b7">SetScale</a>(XMVECTOR scale)</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#aa1d23303805dd960452dd16a5c077835">SetScaleMatrix</a>(XMMATRIX matrix)</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#ae6c18c31f088f065f059b490773b3a08">SetTranslateMatrix</a>(XMMATRIX matrix)</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#a66dc72687d5a68513beb31b5ae28564f">TransformComponent</a>()</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classecs_1_1_component.html#a59c0f739c4ff19227e27ed7b9f6352e0">Update</a>(float deltaTime)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classecs_1_1_transform_component.html#a28d1fe5ba04d4ff6f9eb136ea656e35e">UpdateWorldMatrix</a>()</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Component</b>()=default (defined in <a class="el" href="classecs_1_1_component.html">ecs::Component</a>)</td><td class="entry"><a class="el" href="classecs_1_1_component.html">ecs::Component</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~TransformComponent</b>()=default (defined in <a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a>)</td><td class="entry"><a class="el" href="classecs_1_1_transform_component.html">ecs::TransformComponent</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>

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