aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/examples/03.CustomSceneNode')
-rw-r--r--src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.cbp58
-rw-r--r--src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.dev59
-rw-r--r--src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.vcproj163
-rw-r--r--src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc10.vcxproj243
-rw-r--r--src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc11.vcxproj247
-rw-r--r--src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc8.vcproj231
-rw-r--r--src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc9.vcproj230
-rw-r--r--src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/Makefile38
-rw-r--r--src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/main.cpp267
-rw-r--r--src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/tutorial.html222
10 files changed, 1758 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.cbp b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.cbp
new file mode 100644
index 0000000..e68ffd3
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.cbp
@@ -0,0 +1,58 @@
1<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
2<CodeBlocks_project_file>
3 <FileVersion major="1" minor="6" />
4 <Project>
5 <Option title="Irrlicht Example 03 Custom Scene Node" />
6 <Option pch_mode="0" />
7 <Option compiler="gcc" />
8 <Build>
9 <Target title="Linux">
10 <Option platforms="Unix;" />
11 <Option output="..\..\bin\Linux\CustomSceneNode" prefix_auto="0" extension_auto="0" />
12 <Option type="1" />
13 <Option compiler="gcc" />
14 <Option projectResourceIncludeDirsRelation="1" />
15 <Compiler>
16 <Add option="-g" />
17 <Add option="-D_IRR_STATIC_LIB_" />
18 </Compiler>
19 <Linker>
20 <Add library="Xxf86vm" />
21 <Add library="Xcursor" />
22 <Add library="GL" />
23 <Add directory="..\..\lib\Linux\" />
24 </Linker>
25 </Target>
26 <Target title="Windows">
27 <Option platforms="Windows;" />
28 <Option output="..\..\bin\Win32-gcc\CustomSceneNode" prefix_auto="1" extension_auto="1" />
29 <Option type="1" />
30 <Option compiler="gcc" />
31 <Option projectResourceIncludeDirsRelation="1" />
32 <Compiler>
33 <Add option="-g" />
34 </Compiler>
35 <Linker>
36 <Add directory="..\..\lib\Win32-gcc" />
37 </Linker>
38 </Target>
39 </Build>
40 <VirtualTargets>
41 <Add alias="All" targets="Windows;Linux;" />
42 </VirtualTargets>
43 <Compiler>
44 <Add option="-g" />
45 <Add directory="..\..\include" />
46 </Compiler>
47 <Linker>
48 <Add library="Irrlicht" />
49 <Add directory="..\..\bin\gcc" />
50 </Linker>
51 <Unit filename="main.cpp" />
52 <Extensions>
53 <code_completion />
54 <debugger />
55 <envvars />
56 </Extensions>
57 </Project>
58</CodeBlocks_project_file>
diff --git a/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.dev b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.dev
new file mode 100644
index 0000000..57c5ee0
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.dev
@@ -0,0 +1,59 @@
1[Project]
2FileName=example.dev
3Name=Irrlicht Example 03 Custom Scene Node
4UnitCount=1
5Type=1
6Ver=1
7ObjFiles=
8Includes=..\..\include
9Libs=
10PrivateResource=
11ResourceIncludes=
12MakeIncludes=
13Compiler=
14CppCompiler=
15Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
16IsCpp=1
17Icon=
18ExeOutput=../../bin/Win32-gcc
19ObjectOutput=obj
20OverrideOutput=1
21OverrideOutputName=03.CustomSceneNode.exe
22HostApplication=
23Folders=
24CommandLine=
25IncludeVersionInfo=0
26SupportXPThemes=0
27CompilerSet=0
28CompilerSettings=0000000000000000000000
29UseCustomMakefile=0
30CustomMakefile=
31
32[Unit1]
33FileName=main.cpp
34CompileCpp=1
35Folder=Projekt1
36Compile=1
37Link=1
38Priority=1000
39OverrideBuildCmd=0
40BuildCmd=
41
42[VersionInfo]
43Major=0
44Minor=1
45Release=1
46Build=1
47LanguageID=1033
48CharsetID=1252
49CompanyName=
50FileVersion=
51FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
52InternalName=
53LegalCopyright=
54LegalTrademarks=
55OriginalFilename=
56ProductName=
57ProductVersion=
58AutoIncBuildNr=0
59
diff --git a/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.vcproj b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.vcproj
new file mode 100644
index 0000000..890d308
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode.vcproj
@@ -0,0 +1,163 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="7.10"
5 Name="03.CustomSceneNode"
6 ProjectGUID="{32078844-1903-47AB-AEAC-FC2E3415DB46}"
7 SccProjectName=""
8 SccLocalPath="">
9 <Platforms>
10 <Platform
11 Name="Win32"/>
12 </Platforms>
13 <Configurations>
14 <Configuration
15 Name="Debug|Win32"
16 OutputDirectory=".\Debug"
17 IntermediateDirectory=".\Debug"
18 ConfigurationType="1"
19 UseOfMFC="0"
20 ATLMinimizesCRunTimeLibraryUsage="FALSE"
21 CharacterSet="2">
22 <Tool
23 Name="VCCLCompilerTool"
24 Optimization="0"
25 AdditionalIncludeDirectories="..\..\include"
26 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
27 BasicRuntimeChecks="3"
28 RuntimeLibrary="5"
29 UsePrecompiledHeader="2"
30 PrecompiledHeaderFile=".\Debug/CustomSceneNode.pch"
31 AssemblerListingLocation=".\Debug/"
32 ObjectFile=".\Debug/"
33 ProgramDataBaseFileName=".\Debug/"
34 WarningLevel="3"
35 SuppressStartupBanner="TRUE"
36 DebugInformationFormat="4"
37 CompileAs="0"/>
38 <Tool
39 Name="VCCustomBuildTool"/>
40 <Tool
41 Name="VCLinkerTool"
42 OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
43 LinkIncremental="0"
44 SuppressStartupBanner="TRUE"
45 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
46 GenerateDebugInformation="TRUE"
47 ProgramDatabaseFile=".\Debug/CustomSceneNode.pdb"
48 SubSystem="1"
49 TargetMachine="1"/>
50 <Tool
51 Name="VCMIDLTool"
52 TypeLibraryName=".\Debug/CustomSceneNode.tlb"
53 HeaderFileName=""/>
54 <Tool
55 Name="VCPostBuildEventTool"/>
56 <Tool
57 Name="VCPreBuildEventTool"/>
58 <Tool
59 Name="VCPreLinkEventTool"/>
60 <Tool
61 Name="VCResourceCompilerTool"
62 PreprocessorDefinitions="_DEBUG"
63 Culture="3079"/>
64 <Tool
65 Name="VCWebServiceProxyGeneratorTool"/>
66 <Tool
67 Name="VCXMLDataGeneratorTool"/>
68 <Tool
69 Name="VCWebDeploymentTool"/>
70 <Tool
71 Name="VCManagedWrapperGeneratorTool"/>
72 <Tool
73 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
74 </Configuration>
75 <Configuration
76 Name="Release|Win32"
77 OutputDirectory=".\Release"
78 IntermediateDirectory=".\Release"
79 ConfigurationType="1"
80 UseOfMFC="0"
81 ATLMinimizesCRunTimeLibraryUsage="FALSE"
82 CharacterSet="2">
83 <Tool
84 Name="VCCLCompilerTool"
85 Optimization="2"
86 InlineFunctionExpansion="1"
87 AdditionalIncludeDirectories="..\..\include"
88 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
89 StringPooling="TRUE"
90 RuntimeLibrary="4"
91 EnableFunctionLevelLinking="TRUE"
92 UsePrecompiledHeader="2"
93 PrecompiledHeaderFile=".\Release/CustomSceneNode.pch"
94 AssemblerListingLocation=".\Release/"
95 ObjectFile=".\Release/"
96 ProgramDataBaseFileName=".\Release/"
97 WarningLevel="3"
98 SuppressStartupBanner="TRUE"
99 CompileAs="0"/>
100 <Tool
101 Name="VCCustomBuildTool"/>
102 <Tool
103 Name="VCLinkerTool"
104 OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
105 LinkIncremental="0"
106 SuppressStartupBanner="TRUE"
107 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
108 ProgramDatabaseFile=".\Release/CustomSceneNode.pdb"
109 SubSystem="1"
110 TargetMachine="1"/>
111 <Tool
112 Name="VCMIDLTool"
113 TypeLibraryName=".\Release/CustomSceneNode.tlb"
114 HeaderFileName=""/>
115 <Tool
116 Name="VCPostBuildEventTool"/>
117 <Tool
118 Name="VCPreBuildEventTool"/>
119 <Tool
120 Name="VCPreLinkEventTool"/>
121 <Tool
122 Name="VCResourceCompilerTool"
123 PreprocessorDefinitions="NDEBUG"
124 Culture="3079"/>
125 <Tool
126 Name="VCWebServiceProxyGeneratorTool"/>
127 <Tool
128 Name="VCXMLDataGeneratorTool"/>
129 <Tool
130 Name="VCWebDeploymentTool"/>
131 <Tool
132 Name="VCManagedWrapperGeneratorTool"/>
133 <Tool
134 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
135 </Configuration>
136 </Configurations>
137 <References>
138 </References>
139 <Files>
140 <File
141 RelativePath="main.cpp">
142 <FileConfiguration
143 Name="Debug|Win32">
144 <Tool
145 Name="VCCLCompilerTool"
146 Optimization="0"
147 AdditionalIncludeDirectories=""
148 PreprocessorDefinitions=""
149 BasicRuntimeChecks="3"/>
150 </FileConfiguration>
151 <FileConfiguration
152 Name="Release|Win32">
153 <Tool
154 Name="VCCLCompilerTool"
155 Optimization="2"
156 AdditionalIncludeDirectories=""
157 PreprocessorDefinitions=""/>
158 </FileConfiguration>
159 </File>
160 </Files>
161 <Globals>
162 </Globals>
163</VisualStudioProject>
diff --git a/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc10.vcxproj b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc10.vcxproj
new file mode 100644
index 0000000..5512e23
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc10.vcxproj
@@ -0,0 +1,243 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Debug|x64">
9 <Configuration>Debug</Configuration>
10 <Platform>x64</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Release|Win32">
13 <Configuration>Release</Configuration>
14 <Platform>Win32</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 </ItemGroup>
21 <PropertyGroup Label="Globals">
22 <ProjectName>03.CustomSceneNode</ProjectName>
23 <ProjectGuid>{171CCDFA-C140-4956-8EB7-F0168F4521D3}</ProjectGuid>
24 <RootNamespace>CustomSceneNode</RootNamespace>
25 </PropertyGroup>
26 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
27 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
28 <ConfigurationType>Application</ConfigurationType>
29 <UseOfMfc>false</UseOfMfc>
30 <CharacterSet>MultiByte</CharacterSet>
31 </PropertyGroup>
32 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
33 <ConfigurationType>Application</ConfigurationType>
34 <UseOfMfc>false</UseOfMfc>
35 <CharacterSet>MultiByte</CharacterSet>
36 </PropertyGroup>
37 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
38 <ConfigurationType>Application</ConfigurationType>
39 <UseOfMfc>false</UseOfMfc>
40 <CharacterSet>MultiByte</CharacterSet>
41 </PropertyGroup>
42 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
43 <ConfigurationType>Application</ConfigurationType>
44 <UseOfMfc>false</UseOfMfc>
45 <CharacterSet>MultiByte</CharacterSet>
46 </PropertyGroup>
47 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
48 <ImportGroup Label="ExtensionSettings">
49 </ImportGroup>
50 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
51 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
52 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
53 </ImportGroup>
54 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
55 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
56 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
57 </ImportGroup>
58 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
59 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
60 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
61 </ImportGroup>
62 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
63 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
64 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
65 </ImportGroup>
66 <PropertyGroup Label="UserMacros" />
67 <PropertyGroup>
68 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
69 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
70 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
71 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
72 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
73 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
74 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
75 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
76 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
77 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
78 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
79 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
80 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
81 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
82 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
83 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
84 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
85 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
86 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
87 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
88 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
89 </PropertyGroup>
90 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
91 <Midl>
92 <TypeLibraryName>.\Debug/CustomSceneNode.tlb</TypeLibraryName>
93 <HeaderFileName>
94 </HeaderFileName>
95 </Midl>
96 <ClCompile>
97 <Optimization>Disabled</Optimization>
98 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
99 <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
100 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
101 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
102 <PrecompiledHeader>
103 </PrecompiledHeader>
104 <WarningLevel>Level3</WarningLevel>
105 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
106 </ClCompile>
107 <ResourceCompile>
108 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
109 <Culture>0x0c07</Culture>
110 </ResourceCompile>
111 <Link>
112 <OutputFile>..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe</OutputFile>
113 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
114 <GenerateDebugInformation>true</GenerateDebugInformation>
115 <SubSystem>Console</SubSystem>
116 <DataExecutionPrevention>
117 </DataExecutionPrevention>
118 </Link>
119 </ItemDefinitionGroup>
120 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
121 <Midl>
122 <TypeLibraryName>.\Debug/CustomSceneNode.tlb</TypeLibraryName>
123 <HeaderFileName>
124 </HeaderFileName>
125 </Midl>
126 <ClCompile>
127 <Optimization>Disabled</Optimization>
128 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
129 <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
130 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
131 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
132 <PrecompiledHeader>
133 </PrecompiledHeader>
134 <WarningLevel>Level3</WarningLevel>
135 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
136 </ClCompile>
137 <ResourceCompile>
138 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
139 <Culture>0x0c07</Culture>
140 </ResourceCompile>
141 <Link>
142 <OutputFile>..\..\bin\Win64-VisualStudio\03.CustomSceneNode.exe</OutputFile>
143 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
144 <GenerateDebugInformation>true</GenerateDebugInformation>
145 <SubSystem>Console</SubSystem>
146 <DataExecutionPrevention>
147 </DataExecutionPrevention>
148 </Link>
149 </ItemDefinitionGroup>
150 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
151 <Midl>
152 <TypeLibraryName>.\Release/CustomSceneNode.tlb</TypeLibraryName>
153 <HeaderFileName>
154 </HeaderFileName>
155 </Midl>
156 <ClCompile>
157 <Optimization>MaxSpeed</Optimization>
158 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
159 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
160 <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
161 <StringPooling>true</StringPooling>
162 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
163 <FunctionLevelLinking>true</FunctionLevelLinking>
164 <PrecompiledHeader>
165 </PrecompiledHeader>
166 <PrecompiledHeaderOutputFile>.\Release/CustomSceneNode.pch</PrecompiledHeaderOutputFile>
167 <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
168 <ObjectFileName>.\Release/</ObjectFileName>
169 <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
170 <WarningLevel>Level3</WarningLevel>
171 </ClCompile>
172 <ResourceCompile>
173 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
174 <Culture>0x0c07</Culture>
175 </ResourceCompile>
176 <Link>
177 <OutputFile>..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe</OutputFile>
178 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
179 <ProgramDatabaseFile>.\Release/CustomSceneNode.pdb</ProgramDatabaseFile>
180 <SubSystem>Console</SubSystem>
181 <RandomizedBaseAddress>false</RandomizedBaseAddress>
182 <DataExecutionPrevention>
183 </DataExecutionPrevention>
184 </Link>
185 </ItemDefinitionGroup>
186 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
187 <Midl>
188 <TypeLibraryName>.\Release/CustomSceneNode.tlb</TypeLibraryName>
189 <HeaderFileName>
190 </HeaderFileName>
191 </Midl>
192 <ClCompile>
193 <Optimization>MaxSpeed</Optimization>
194 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
195 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
196 <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
197 <StringPooling>true</StringPooling>
198 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
199 <FunctionLevelLinking>true</FunctionLevelLinking>
200 <PrecompiledHeader>
201 </PrecompiledHeader>
202 <PrecompiledHeaderOutputFile>.\Release/CustomSceneNode.pch</PrecompiledHeaderOutputFile>
203 <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
204 <ObjectFileName>.\Release/</ObjectFileName>
205 <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
206 <WarningLevel>Level3</WarningLevel>
207 </ClCompile>
208 <ResourceCompile>
209 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
210 <Culture>0x0c07</Culture>
211 </ResourceCompile>
212 <Link>
213 <OutputFile>..\..\bin\Win64-VisualStudio\03.CustomSceneNode.exe</OutputFile>
214 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
215 <ProgramDatabaseFile>.\Release/CustomSceneNode.pdb</ProgramDatabaseFile>
216 <SubSystem>Console</SubSystem>
217 <RandomizedBaseAddress>false</RandomizedBaseAddress>
218 <DataExecutionPrevention>
219 </DataExecutionPrevention>
220 </Link>
221 </ItemDefinitionGroup>
222 <ItemGroup>
223 <ClCompile Include="main.cpp">
224 <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
225 <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
226 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
227 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
228 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
229 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
230 <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
231 <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
232 <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
233 <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
234 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
235 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
236 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
237 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
238 </ClCompile>
239 </ItemGroup>
240 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
241 <ImportGroup Label="ExtensionTargets">
242 </ImportGroup>
243</Project> \ No newline at end of file
diff --git a/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc11.vcxproj b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc11.vcxproj
new file mode 100644
index 0000000..52f6ef2
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc11.vcxproj
@@ -0,0 +1,247 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Debug|x64">
9 <Configuration>Debug</Configuration>
10 <Platform>x64</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Release|Win32">
13 <Configuration>Release</Configuration>
14 <Platform>Win32</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 </ItemGroup>
21 <PropertyGroup Label="Globals">
22 <ProjectName>03.CustomSceneNode</ProjectName>
23 <ProjectGuid>{171CCDFA-C140-4956-8EB7-F0168F4521D3}</ProjectGuid>
24 <RootNamespace>CustomSceneNode</RootNamespace>
25 </PropertyGroup>
26 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
27 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
28 <ConfigurationType>Application</ConfigurationType>
29 <UseOfMfc>false</UseOfMfc>
30 <CharacterSet>MultiByte</CharacterSet>
31 <PlatformToolset>v110</PlatformToolset>
32 </PropertyGroup>
33 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
34 <ConfigurationType>Application</ConfigurationType>
35 <UseOfMfc>false</UseOfMfc>
36 <CharacterSet>MultiByte</CharacterSet>
37 <PlatformToolset>v110</PlatformToolset>
38 </PropertyGroup>
39 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
40 <ConfigurationType>Application</ConfigurationType>
41 <UseOfMfc>false</UseOfMfc>
42 <CharacterSet>MultiByte</CharacterSet>
43 <PlatformToolset>v110</PlatformToolset>
44 </PropertyGroup>
45 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
46 <ConfigurationType>Application</ConfigurationType>
47 <UseOfMfc>false</UseOfMfc>
48 <CharacterSet>MultiByte</CharacterSet>
49 <PlatformToolset>v110</PlatformToolset>
50 </PropertyGroup>
51 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
52 <ImportGroup Label="ExtensionSettings">
53 </ImportGroup>
54 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
55 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
56 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
57 </ImportGroup>
58 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
59 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
60 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
61 </ImportGroup>
62 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
63 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
64 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
65 </ImportGroup>
66 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
67 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
68 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
69 </ImportGroup>
70 <PropertyGroup Label="UserMacros" />
71 <PropertyGroup>
72 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
73 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
74 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
75 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
76 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
77 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
78 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
79 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
80 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
81 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
82 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
83 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
84 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
85 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
86 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
87 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
88 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
89 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
90 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
91 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
92 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
93 </PropertyGroup>
94 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
95 <Midl>
96 <TypeLibraryName>.\Debug/CustomSceneNode.tlb</TypeLibraryName>
97 <HeaderFileName>
98 </HeaderFileName>
99 </Midl>
100 <ClCompile>
101 <Optimization>Disabled</Optimization>
102 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
103 <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
104 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
105 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
106 <PrecompiledHeader>
107 </PrecompiledHeader>
108 <WarningLevel>Level3</WarningLevel>
109 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
110 </ClCompile>
111 <ResourceCompile>
112 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
113 <Culture>0x0c07</Culture>
114 </ResourceCompile>
115 <Link>
116 <OutputFile>..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe</OutputFile>
117 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
118 <GenerateDebugInformation>true</GenerateDebugInformation>
119 <SubSystem>Console</SubSystem>
120 <DataExecutionPrevention>
121 </DataExecutionPrevention>
122 </Link>
123 </ItemDefinitionGroup>
124 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
125 <Midl>
126 <TypeLibraryName>.\Debug/CustomSceneNode.tlb</TypeLibraryName>
127 <HeaderFileName>
128 </HeaderFileName>
129 </Midl>
130 <ClCompile>
131 <Optimization>Disabled</Optimization>
132 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
133 <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
134 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
135 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
136 <PrecompiledHeader>
137 </PrecompiledHeader>
138 <WarningLevel>Level3</WarningLevel>
139 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
140 </ClCompile>
141 <ResourceCompile>
142 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
143 <Culture>0x0c07</Culture>
144 </ResourceCompile>
145 <Link>
146 <OutputFile>..\..\bin\Win64-VisualStudio\03.CustomSceneNode.exe</OutputFile>
147 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
148 <GenerateDebugInformation>true</GenerateDebugInformation>
149 <SubSystem>Console</SubSystem>
150 <DataExecutionPrevention>
151 </DataExecutionPrevention>
152 </Link>
153 </ItemDefinitionGroup>
154 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
155 <Midl>
156 <TypeLibraryName>.\Release/CustomSceneNode.tlb</TypeLibraryName>
157 <HeaderFileName>
158 </HeaderFileName>
159 </Midl>
160 <ClCompile>
161 <Optimization>MaxSpeed</Optimization>
162 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
163 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
164 <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
165 <StringPooling>true</StringPooling>
166 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
167 <FunctionLevelLinking>true</FunctionLevelLinking>
168 <PrecompiledHeader>
169 </PrecompiledHeader>
170 <PrecompiledHeaderOutputFile>.\Release/CustomSceneNode.pch</PrecompiledHeaderOutputFile>
171 <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
172 <ObjectFileName>.\Release/</ObjectFileName>
173 <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
174 <WarningLevel>Level3</WarningLevel>
175 </ClCompile>
176 <ResourceCompile>
177 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
178 <Culture>0x0c07</Culture>
179 </ResourceCompile>
180 <Link>
181 <OutputFile>..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe</OutputFile>
182 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
183 <ProgramDatabaseFile>.\Release/CustomSceneNode.pdb</ProgramDatabaseFile>
184 <SubSystem>Console</SubSystem>
185 <RandomizedBaseAddress>false</RandomizedBaseAddress>
186 <DataExecutionPrevention>
187 </DataExecutionPrevention>
188 </Link>
189 </ItemDefinitionGroup>
190 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
191 <Midl>
192 <TypeLibraryName>.\Release/CustomSceneNode.tlb</TypeLibraryName>
193 <HeaderFileName>
194 </HeaderFileName>
195 </Midl>
196 <ClCompile>
197 <Optimization>MaxSpeed</Optimization>
198 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
199 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
200 <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
201 <StringPooling>true</StringPooling>
202 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
203 <FunctionLevelLinking>true</FunctionLevelLinking>
204 <PrecompiledHeader>
205 </PrecompiledHeader>
206 <PrecompiledHeaderOutputFile>.\Release/CustomSceneNode.pch</PrecompiledHeaderOutputFile>
207 <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
208 <ObjectFileName>.\Release/</ObjectFileName>
209 <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
210 <WarningLevel>Level3</WarningLevel>
211 </ClCompile>
212 <ResourceCompile>
213 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
214 <Culture>0x0c07</Culture>
215 </ResourceCompile>
216 <Link>
217 <OutputFile>..\..\bin\Win64-VisualStudio\03.CustomSceneNode.exe</OutputFile>
218 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
219 <ProgramDatabaseFile>.\Release/CustomSceneNode.pdb</ProgramDatabaseFile>
220 <SubSystem>Console</SubSystem>
221 <RandomizedBaseAddress>false</RandomizedBaseAddress>
222 <DataExecutionPrevention>
223 </DataExecutionPrevention>
224 </Link>
225 </ItemDefinitionGroup>
226 <ItemGroup>
227 <ClCompile Include="main.cpp">
228 <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
229 <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
230 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
231 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
232 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
233 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
234 <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
235 <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
236 <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
237 <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
238 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
239 <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
240 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
241 <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
242 </ClCompile>
243 </ItemGroup>
244 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
245 <ImportGroup Label="ExtensionTargets">
246 </ImportGroup>
247</Project> \ No newline at end of file
diff --git a/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc8.vcproj b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc8.vcproj
new file mode 100644
index 0000000..42c7879
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc8.vcproj
@@ -0,0 +1,231 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="8.00"
5 Name="03.CustomSceneNode_vc8"
6 ProjectGUID="{171CCDFA-C140-4956-8EB7-F0168F4521D3}"
7 RootNamespace="CustomSceneNode_vc8"
8 >
9 <Platforms>
10 <Platform
11 Name="Win32"
12 />
13 </Platforms>
14 <ToolFiles>
15 </ToolFiles>
16 <Configurations>
17 <Configuration
18 Name="Debug|Win32"
19 OutputDirectory=".\Debug"
20 IntermediateDirectory=".\Debug"
21 ConfigurationType="1"
22 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
23 UseOfMFC="0"
24 ATLMinimizesCRunTimeLibraryUsage="false"
25 CharacterSet="2"
26 >
27 <Tool
28 Name="VCPreBuildEventTool"
29 />
30 <Tool
31 Name="VCCustomBuildTool"
32 />
33 <Tool
34 Name="VCXMLDataGeneratorTool"
35 />
36 <Tool
37 Name="VCWebServiceProxyGeneratorTool"
38 />
39 <Tool
40 Name="VCMIDLTool"
41 TypeLibraryName=".\Debug/CustomSceneNode.tlb"
42 HeaderFileName=""
43 />
44 <Tool
45 Name="VCCLCompilerTool"
46 Optimization="0"
47 AdditionalIncludeDirectories="..\..\include"
48 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
49 BasicRuntimeChecks="3"
50 RuntimeLibrary="1"
51 UsePrecompiledHeader="0"
52 PrecompiledHeaderFile=".\Debug/CustomSceneNode.pch"
53 AssemblerListingLocation=".\Debug/"
54 ObjectFile=".\Debug/"
55 ProgramDataBaseFileName=".\Debug/"
56 WarningLevel="3"
57 SuppressStartupBanner="true"
58 DebugInformationFormat="4"
59 CompileAs="0"
60 />
61 <Tool
62 Name="VCManagedResourceCompilerTool"
63 />
64 <Tool
65 Name="VCResourceCompilerTool"
66 PreprocessorDefinitions="_DEBUG"
67 Culture="3079"
68 />
69 <Tool
70 Name="VCPreLinkEventTool"
71 />
72 <Tool
73 Name="VCLinkerTool"
74 OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
75 LinkIncremental="0"
76 SuppressStartupBanner="true"
77 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
78 GenerateDebugInformation="true"
79 ProgramDatabaseFile=".\Debug/CustomSceneNode.pdb"
80 SubSystem="1"
81 TargetMachine="1"
82 />
83 <Tool
84 Name="VCALinkTool"
85 />
86 <Tool
87 Name="VCManifestTool"
88 />
89 <Tool
90 Name="VCXDCMakeTool"
91 />
92 <Tool
93 Name="VCBscMakeTool"
94 />
95 <Tool
96 Name="VCFxCopTool"
97 />
98 <Tool
99 Name="VCAppVerifierTool"
100 />
101 <Tool
102 Name="VCWebDeploymentTool"
103 />
104 <Tool
105 Name="VCPostBuildEventTool"
106 />
107 </Configuration>
108 <Configuration
109 Name="Release|Win32"
110 OutputDirectory=".\Release"
111 IntermediateDirectory=".\Release"
112 ConfigurationType="1"
113 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
114 UseOfMFC="0"
115 ATLMinimizesCRunTimeLibraryUsage="false"
116 CharacterSet="2"
117 >
118 <Tool
119 Name="VCPreBuildEventTool"
120 />
121 <Tool
122 Name="VCCustomBuildTool"
123 />
124 <Tool
125 Name="VCXMLDataGeneratorTool"
126 />
127 <Tool
128 Name="VCWebServiceProxyGeneratorTool"
129 />
130 <Tool
131 Name="VCMIDLTool"
132 TypeLibraryName=".\Release/CustomSceneNode.tlb"
133 HeaderFileName=""
134 />
135 <Tool
136 Name="VCCLCompilerTool"
137 Optimization="2"
138 InlineFunctionExpansion="1"
139 AdditionalIncludeDirectories="..\..\include"
140 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
141 StringPooling="true"
142 RuntimeLibrary="0"
143 EnableFunctionLevelLinking="true"
144 UsePrecompiledHeader="0"
145 PrecompiledHeaderFile=".\Release/CustomSceneNode.pch"
146 AssemblerListingLocation=".\Release/"
147 ObjectFile=".\Release/"
148 ProgramDataBaseFileName=".\Release/"
149 WarningLevel="3"
150 SuppressStartupBanner="true"
151 CompileAs="0"
152 />
153 <Tool
154 Name="VCManagedResourceCompilerTool"
155 />
156 <Tool
157 Name="VCResourceCompilerTool"
158 PreprocessorDefinitions="NDEBUG"
159 Culture="3079"
160 />
161 <Tool
162 Name="VCPreLinkEventTool"
163 />
164 <Tool
165 Name="VCLinkerTool"
166 OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
167 LinkIncremental="0"
168 SuppressStartupBanner="true"
169 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
170 ProgramDatabaseFile=".\Release/CustomSceneNode.pdb"
171 SubSystem="1"
172 TargetMachine="1"
173 />
174 <Tool
175 Name="VCALinkTool"
176 />
177 <Tool
178 Name="VCManifestTool"
179 />
180 <Tool
181 Name="VCXDCMakeTool"
182 />
183 <Tool
184 Name="VCBscMakeTool"
185 />
186 <Tool
187 Name="VCFxCopTool"
188 />
189 <Tool
190 Name="VCAppVerifierTool"
191 />
192 <Tool
193 Name="VCWebDeploymentTool"
194 />
195 <Tool
196 Name="VCPostBuildEventTool"
197 />
198 </Configuration>
199 </Configurations>
200 <References>
201 </References>
202 <Files>
203 <File
204 RelativePath="main.cpp"
205 >
206 <FileConfiguration
207 Name="Debug|Win32"
208 >
209 <Tool
210 Name="VCCLCompilerTool"
211 Optimization="0"
212 AdditionalIncludeDirectories=""
213 PreprocessorDefinitions=""
214 BasicRuntimeChecks="3"
215 />
216 </FileConfiguration>
217 <FileConfiguration
218 Name="Release|Win32"
219 >
220 <Tool
221 Name="VCCLCompilerTool"
222 Optimization="2"
223 AdditionalIncludeDirectories=""
224 PreprocessorDefinitions=""
225 />
226 </FileConfiguration>
227 </File>
228 </Files>
229 <Globals>
230 </Globals>
231</VisualStudioProject>
diff --git a/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc9.vcproj b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc9.vcproj
new file mode 100644
index 0000000..50f0382
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/CustomSceneNode_vc9.vcproj
@@ -0,0 +1,230 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="9.00"
5 Name="03.CustomSceneNode_vc9"
6 ProjectGUID="{171CCDFA-C140-4956-8EB7-F0168F4521D3}"
7 RootNamespace="CustomSceneNode_vc9"
8 TargetFrameworkVersion="131072"
9 >
10 <Platforms>
11 <Platform
12 Name="Win32"
13 />
14 </Platforms>
15 <ToolFiles>
16 </ToolFiles>
17 <Configurations>
18 <Configuration
19 Name="Debug|Win32"
20 OutputDirectory=".\Debug"
21 IntermediateDirectory=".\Debug"
22 ConfigurationType="1"
23 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
24 UseOfMFC="0"
25 ATLMinimizesCRunTimeLibraryUsage="false"
26 CharacterSet="2"
27 >
28 <Tool
29 Name="VCPreBuildEventTool"
30 />
31 <Tool
32 Name="VCCustomBuildTool"
33 />
34 <Tool
35 Name="VCXMLDataGeneratorTool"
36 />
37 <Tool
38 Name="VCWebServiceProxyGeneratorTool"
39 />
40 <Tool
41 Name="VCMIDLTool"
42 TypeLibraryName=".\Debug/CustomSceneNode.tlb"
43 HeaderFileName=""
44 />
45 <Tool
46 Name="VCCLCompilerTool"
47 Optimization="0"
48 AdditionalIncludeDirectories="..\..\include"
49 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
50 BasicRuntimeChecks="3"
51 RuntimeLibrary="1"
52 UsePrecompiledHeader="0"
53 PrecompiledHeaderFile=".\Debug/CustomSceneNode.pch"
54 AssemblerListingLocation=".\Debug/"
55 ObjectFile=".\Debug/"
56 ProgramDataBaseFileName=".\Debug/"
57 WarningLevel="3"
58 SuppressStartupBanner="true"
59 DebugInformationFormat="4"
60 CompileAs="0"
61 />
62 <Tool
63 Name="VCManagedResourceCompilerTool"
64 />
65 <Tool
66 Name="VCResourceCompilerTool"
67 PreprocessorDefinitions="_DEBUG"
68 Culture="3079"
69 />
70 <Tool
71 Name="VCPreLinkEventTool"
72 />
73 <Tool
74 Name="VCLinkerTool"
75 OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
76 LinkIncremental="0"
77 SuppressStartupBanner="true"
78 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
79 GenerateDebugInformation="true"
80 ProgramDatabaseFile=".\Debug/CustomSceneNode.pdb"
81 SubSystem="1"
82 RandomizedBaseAddress="1"
83 DataExecutionPrevention="0"
84 TargetMachine="1"
85 />
86 <Tool
87 Name="VCALinkTool"
88 />
89 <Tool
90 Name="VCManifestTool"
91 />
92 <Tool
93 Name="VCXDCMakeTool"
94 />
95 <Tool
96 Name="VCBscMakeTool"
97 />
98 <Tool
99 Name="VCFxCopTool"
100 />
101 <Tool
102 Name="VCAppVerifierTool"
103 />
104 <Tool
105 Name="VCPostBuildEventTool"
106 />
107 </Configuration>
108 <Configuration
109 Name="Release|Win32"
110 OutputDirectory=".\Release"
111 IntermediateDirectory=".\Release"
112 ConfigurationType="1"
113 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
114 UseOfMFC="0"
115 ATLMinimizesCRunTimeLibraryUsage="false"
116 CharacterSet="2"
117 >
118 <Tool
119 Name="VCPreBuildEventTool"
120 />
121 <Tool
122 Name="VCCustomBuildTool"
123 />
124 <Tool
125 Name="VCXMLDataGeneratorTool"
126 />
127 <Tool
128 Name="VCWebServiceProxyGeneratorTool"
129 />
130 <Tool
131 Name="VCMIDLTool"
132 TypeLibraryName=".\Release/CustomSceneNode.tlb"
133 HeaderFileName=""
134 />
135 <Tool
136 Name="VCCLCompilerTool"
137 Optimization="2"
138 InlineFunctionExpansion="1"
139 AdditionalIncludeDirectories="..\..\include"
140 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
141 StringPooling="true"
142 RuntimeLibrary="0"
143 EnableFunctionLevelLinking="true"
144 UsePrecompiledHeader="0"
145 PrecompiledHeaderFile=".\Release/CustomSceneNode.pch"
146 AssemblerListingLocation=".\Release/"
147 ObjectFile=".\Release/"
148 ProgramDataBaseFileName=".\Release/"
149 WarningLevel="3"
150 SuppressStartupBanner="true"
151 CompileAs="0"
152 />
153 <Tool
154 Name="VCManagedResourceCompilerTool"
155 />
156 <Tool
157 Name="VCResourceCompilerTool"
158 PreprocessorDefinitions="NDEBUG"
159 Culture="3079"
160 />
161 <Tool
162 Name="VCPreLinkEventTool"
163 />
164 <Tool
165 Name="VCLinkerTool"
166 OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
167 LinkIncremental="0"
168 SuppressStartupBanner="true"
169 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
170 ProgramDatabaseFile=".\Release/CustomSceneNode.pdb"
171 SubSystem="1"
172 RandomizedBaseAddress="1"
173 DataExecutionPrevention="0"
174 TargetMachine="1"
175 />
176 <Tool
177 Name="VCALinkTool"
178 />
179 <Tool
180 Name="VCManifestTool"
181 />
182 <Tool
183 Name="VCXDCMakeTool"
184 />
185 <Tool
186 Name="VCBscMakeTool"
187 />
188 <Tool
189 Name="VCFxCopTool"
190 />
191 <Tool
192 Name="VCAppVerifierTool"
193 />
194 <Tool
195 Name="VCPostBuildEventTool"
196 />
197 </Configuration>
198 </Configurations>
199 <References>
200 </References>
201 <Files>
202 <File
203 RelativePath="main.cpp"
204 >
205 <FileConfiguration
206 Name="Debug|Win32"
207 >
208 <Tool
209 Name="VCCLCompilerTool"
210 Optimization="0"
211 AdditionalIncludeDirectories=""
212 PreprocessorDefinitions=""
213 BasicRuntimeChecks="3"
214 />
215 </FileConfiguration>
216 <FileConfiguration
217 Name="Release|Win32"
218 >
219 <Tool
220 Name="VCCLCompilerTool"
221 Optimization="2"
222 AdditionalIncludeDirectories=""
223 PreprocessorDefinitions=""
224 />
225 </FileConfiguration>
226 </File>
227 </Files>
228 <Globals>
229 </Globals>
230</VisualStudioProject>
diff --git a/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/Makefile b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/Makefile
new file mode 100644
index 0000000..34e3d43
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/Makefile
@@ -0,0 +1,38 @@
1# Makefile for Irrlicht Examples
2# It's usually sufficient to change just the target name and source file list
3# and be sure that CXX is set to a valid compiler
4Target = 03.CustomSceneNode
5Sources = main.cpp
6
7# general compiler settings
8CPPFLAGS = -I../../include -I/usr/X11R6/include
9CXXFLAGS = -O3 -ffast-math
10#CXXFLAGS = -g -Wall
11
12#default target is Linux
13all: all_linux
14
15ifeq ($(HOSTTYPE), x86_64)
16LIBSELECT=64
17endif
18
19# target specific settings
20all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -lXcursor
21all_linux clean_linux: SYSTEM=Linux
22all_win32: LDFLAGS = -L../../lib/Win32-gcc -lIrrlicht -lopengl32 -lm
23all_win32 clean_win32: SYSTEM=Win32-gcc
24all_win32 clean_win32: SUF=.exe
25# name of the binary - only valid for targets which set SYSTEM
26DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF)
27
28all_linux all_win32:
29 $(warning Building...)
30 $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)
31
32clean: clean_linux clean_win32
33 $(warning Cleaning...)
34
35clean_linux clean_win32:
36 @$(RM) $(DESTPATH)
37
38.PHONY: all all_win32 clean clean_linux clean_win32
diff --git a/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/main.cpp b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/main.cpp
new file mode 100644
index 0000000..534f0d3
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/main.cpp
@@ -0,0 +1,267 @@
1/** Example 003 Custom SceneNode
2
3This Tutorial is more advanced than the previous ones.
4If you are currently just playing around with the Irrlicht
5engine, you may want to look at other examples first.
6This tutorials shows how to create a custom scene node and
7how to use it in the engine. A custom scene node is needed
8if you want to implement a render technique the Irrlicht
9Engine currently does not support. For example, you can write
10an indoor portal based renderer or an advanced terrain scene
11node with it. By creating custom scene nodes, you can
12easily extend the Irrlicht Engine and adapt it to your own
13needs.
14
15I will keep the tutorial simple: Keep everything very
16short, everything in one .cpp file, and I'll use the engine
17here as in all other tutorials.
18
19To start, I include the header files, use the irr namespace,
20and tell the linker to link with the .lib file.
21*/
22#include <irrlicht.h>
23#include "driverChoice.h"
24
25using namespace irr;
26
27#ifdef _MSC_VER
28#pragma comment(lib, "Irrlicht.lib")
29#endif
30
31/*
32Here comes the more sophisticated part of this tutorial:
33The class of our very own custom scene node. To keep it simple,
34our scene node will not be an indoor portal renderer nor a terrain
35scene node, but a simple tetraeder, a 3d object consisting of 4
36connected vertices, which only draws itself and does nothing more.
37Note that this scenario does not require a custom scene node in Irrlicht.
38Instead one would create a mesh from the geometry and pass it to a
39irr::scene::IMeshSceneNode. This example just illustrates creation of a custom
40scene node in a very simple setting.
41
42To let our scene node be able to be inserted into the Irrlicht
43Engine scene, the class we create needs to be derived from the
44irr::scene::ISceneNode class and has to override some methods.
45*/
46
47class CSampleSceneNode : public scene::ISceneNode
48{
49
50 /*
51 First, we declare some member variables:
52 The bounding box, 4 vertices, and the material of the tetraeder.
53 */
54 core::aabbox3d<f32> Box;
55 video::S3DVertex Vertices[4];
56 video::SMaterial Material;
57
58 /*
59 The parameters of the constructor specify the parent of the scene node,
60 a pointer to the scene manager, and an id of the scene node.
61 In the constructor we call the parent class' constructor,
62 set some properties of the material, and
63 create the 4 vertices of the tetraeder we will draw later.
64 */
65
66public:
67
68 CSampleSceneNode(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id)
69 : scene::ISceneNode(parent, mgr, id)
70 {
71 Material.Wireframe = false;
72 Material.Lighting = false;
73
74 Vertices[0] = video::S3DVertex(0,0,10, 1,1,0,
75 video::SColor(255,0,255,255), 0, 1);
76 Vertices[1] = video::S3DVertex(10,0,-10, 1,0,0,
77 video::SColor(255,255,0,255), 1, 1);
78 Vertices[2] = video::S3DVertex(0,20,0, 0,1,1,
79 video::SColor(255,255,255,0), 1, 0);
80 Vertices[3] = video::S3DVertex(-10,0,-10, 0,0,1,
81 video::SColor(255,0,255,0), 0, 0);
82
83 /*
84 The Irrlicht Engine needs to know the bounding box of a scene node.
85 It will use it for automatic culling and other things. Hence, we
86 need to create a bounding box from the 4 vertices we use.
87 If you do not want the engine to use the box for automatic culling,
88 and/or don't want to create the box, you could also call
89 irr::scene::ISceneNode::setAutomaticCulling() with irr::scene::EAC_OFF.
90 */
91 Box.reset(Vertices[0].Pos);
92 for (s32 i=1; i<4; ++i)
93 Box.addInternalPoint(Vertices[i].Pos);
94 }
95
96 /*
97 Before it is drawn, the irr::scene::ISceneNode::OnRegisterSceneNode()
98 method of every scene node in the scene is called by the scene manager.
99 If the scene node wishes to draw itself, it may register itself in the
100 scene manager to be drawn. This is necessary to tell the scene manager
101 when it should call irr::scene::ISceneNode::render(). For
102 example, normal scene nodes render their content one after another,
103 while stencil buffer shadows would like to be drawn after all other
104 scene nodes. And camera or light scene nodes need to be rendered before
105 all other scene nodes (if at all). So here we simply register the
106 scene node to render normally. If we would like to let it be rendered
107 like cameras or light, we would have to call
108 SceneManager->registerNodeForRendering(this, SNRT_LIGHT_AND_CAMERA);
109 After this, we call the actual
110 irr::scene::ISceneNode::OnRegisterSceneNode() method of the base class,
111 which simply lets also all the child scene nodes of this node register
112 themselves.
113 */
114 virtual void OnRegisterSceneNode()
115 {
116 if (IsVisible)
117 SceneManager->registerNodeForRendering(this);
118
119 ISceneNode::OnRegisterSceneNode();
120 }
121
122 /*
123 In the render() method most of the interesting stuff happens: The
124 Scene node renders itself. We override this method and draw the
125 tetraeder.
126 */
127 virtual void render()
128 {
129 u16 indices[] = { 0,2,3, 2,1,3, 1,0,3, 2,0,1 };
130 video::IVideoDriver* driver = SceneManager->getVideoDriver();
131
132 driver->setMaterial(Material);
133 driver->setTransform(video::ETS_WORLD, AbsoluteTransformation);
134 driver->drawVertexPrimitiveList(&Vertices[0], 4, &indices[0], 4, video::EVT_STANDARD, scene::EPT_TRIANGLES, video::EIT_16BIT);
135 }
136
137 /*
138 And finally we create three small additional methods.
139 irr::scene::ISceneNode::getBoundingBox() returns the bounding box of
140 this scene node, irr::scene::ISceneNode::getMaterialCount() returns the
141 amount of materials in this scene node (our tetraeder only has one
142 material), and irr::scene::ISceneNode::getMaterial() returns the
143 material at an index. Because we have only one material here, we can
144 return the only one material, assuming that no one ever calls
145 getMaterial() with an index greater than 0.
146 */
147 virtual const core::aabbox3d<f32>& getBoundingBox() const
148 {
149 return Box;
150 }
151
152 virtual u32 getMaterialCount() const
153 {
154 return 1;
155 }
156
157 virtual video::SMaterial& getMaterial(u32 i)
158 {
159 return Material;
160 }
161};
162
163/*
164That's it. The Scene node is done. Now we simply have to start
165the engine, create the scene node and a camera, and look at the result.
166*/
167int main()
168{
169 // ask user for driver
170 video::E_DRIVER_TYPE driverType=driverChoiceConsole();
171 if (driverType==video::EDT_COUNT)
172 return 1;
173
174 // create device
175
176 IrrlichtDevice *device = createDevice(driverType,
177 core::dimension2d<u32>(640, 480), 16, false);
178
179 if (device == 0)
180 return 1; // could not create selected driver.
181
182 // create engine and camera
183
184 device->setWindowCaption(L"Custom Scene Node - Irrlicht Engine Demo");
185
186 video::IVideoDriver* driver = device->getVideoDriver();
187 scene::ISceneManager* smgr = device->getSceneManager();
188
189 smgr->addCameraSceneNode(0, core::vector3df(0,-40,0), core::vector3df(0,0,0));
190
191 /*
192 Create our scene node. I don't check the result of calling new, as it
193 should throw an exception rather than returning 0 on failure. Because
194 the new node will create itself with a reference count of 1, and then
195 will have another reference added by its parent scene node when it is
196 added to the scene, I need to drop my reference to it. Best practice is
197 to drop it only *after* I have finished using it, regardless of what
198 the reference count of the object is after creation.
199 */
200 CSampleSceneNode *myNode =
201 new CSampleSceneNode(smgr->getRootSceneNode(), smgr, 666);
202
203 /*
204 To animate something in this boring scene consisting only of one
205 tetraeder, and to show that you now can use your scene node like any
206 other scene node in the engine, we add an animator to the scene node,
207 which rotates the node a little bit.
208 irr::scene::ISceneManager::createRotationAnimator() could return 0, so
209 should be checked.
210 */
211 scene::ISceneNodeAnimator* anim =
212 smgr->createRotationAnimator(core::vector3df(0.8f, 0, 0.8f));
213
214 if(anim)
215 {
216 myNode->addAnimator(anim);
217
218 /*
219 I'm done referring to anim, so must
220 irr::IReferenceCounted::drop() this reference now because it
221 was produced by a createFoo() function. As I shouldn't refer to
222 it again, ensure that I can't by setting to 0.
223 */
224 anim->drop();
225 anim = 0;
226 }
227
228 /*
229 I'm done with my CSampleSceneNode object, and so must drop my reference.
230 This won't delete the object, yet, because it is still attached to the
231 scene graph, which prevents the deletion until the graph is deleted or the
232 custom scene node is removed from it.
233 */
234 myNode->drop();
235 myNode = 0; // As I shouldn't refer to it again, ensure that I can't
236
237 /*
238 Now draw everything and finish.
239 */
240 u32 frames=0;
241 while(device->run())
242 {
243 driver->beginScene(true, true, video::SColor(0,100,100,100));
244
245 smgr->drawAll();
246
247 driver->endScene();
248 if (++frames==100)
249 {
250 core::stringw str = L"Irrlicht Engine [";
251 str += driver->getName();
252 str += L"] FPS: ";
253 str += (s32)driver->getFPS();
254
255 device->setWindowCaption(str.c_str());
256 frames=0;
257 }
258 }
259
260 device->drop();
261
262 return 0;
263}
264
265/*
266That's it. Compile and play around with the program.
267**/
diff --git a/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/tutorial.html b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/tutorial.html
new file mode 100644
index 0000000..becc3d7
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/examples/03.CustomSceneNode/tutorial.html
@@ -0,0 +1,222 @@
1<html>
2<head>
3<title>Irrlicht Engine Tutorial</title>
4<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5</head>
6
7<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
8<br>
9<table width="95%" border="0" cellspacing="0" cellpadding="2" align="center">
10 <tr>
11 <td bgcolor="#666699" width="10"><b><a href="http://irrlicht.sourceforge.net" target="_blank"><img src="../../media/irrlichtlogo.jpg" width="88" height="31" border="0"></a></b></td>
12 <td bgcolor="#666699" width="100%">
13<div align="center">
14<div align="center"></div>
15 <div align="left"><b><font color="#FFFFFF">Tutorial 3.CustomSceneNode</font></b></div>
16 </div>
17 </td>
18 </tr>
19 <tr bgcolor="#eeeeff">
20 <td height="90" colspan="2">
21 <div align="left">
22 <p>This Tutorial is a tutorial for more advanced developers. If you are
23 currently just playing around with the Irrlicht engine, please look
24 at other examples first. This tutorial shows how to create a custom
25 scene node and how to use it in the engine. A custom scene node is needed,
26 if you want to implement a render technique, the Irrlicht Engine is
27 currently not supporting. For example you can write a indoor portal
28 based renderer or a advanced terrain scene node with it. With creating
29 custom scene nodes, you can easily extend the Irrlicht Engine and adapt
30 it to your needs.</p>
31 <p>I will keep the tutorial simple: Keep everything very short, everything
32 in one .cpp file, and I'll use the engine here as in all other tutorials.
33 At the end of the tutorial, the result will look like the image below.
34 This looks not very exciting, but it is a complete customized scene
35 node and a good point to start from creating you own scene nodes.</p>
36 <p align="center"><img src="../../media/003shot.jpg" width="259" height="204"><br>
37 </p>
38 </div>
39 </td>
40 </tr>
41</table>
42<br>
43<table width="95%" border="0" cellspacing="0" cellpadding="2" align="center">
44 <tr>
45 <td bgcolor="#666699"> <div align="center"><b><font color="#FFFFFF"></font></b></div>
46 <b><font color="#FFFFFF">Lets start!</font></b></td>
47 </tr>
48 <tr>
49 <td height="90" bgcolor="#eeeeff" valign="top"> <div align="left">
50 <p>To start, I include the header files, use the irr namespace, and tell
51 the linker to link with the .lib file. </p>
52 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
53 <tr>
54 <td> <pre>#include &lt;irrlicht.h&gt;</pre> <pre>using namespace irr;</pre> <pre>#pragma comment(lib, &quot;Irrlicht.lib&quot;)</pre></td>
55 </tr>
56 </table>
57 <p>Here comes the most sophisticated part of this tutorial: The class
58 of our very own custom scene node. To keep it simple,<br>
59 our scene node will not be an indoor portal renderer nor a terrain scene
60 node, but a simple tetraeder, a 3d object consiting of 4 connected vertices,
61 which only draws itself and does nothing more.</p>
62 <p>To let our scene node be able to be inserted into the Irrlicht Engine
63 scene, the class we create needs only be derived from the ISceneNode
64 class and has to override some methods.</p>
65 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
66 <tr>
67 <td> <pre>class CSampleSceneNode : public scene::ISceneNode<br>{</pre> </td>
68 </tr>
69 </table>
70 <p>First, we declare some member variables, to hold data for our tetraeder:
71 The bounding box, 4 vertices, and<br>
72 the material of the tetraeder.</p>
73 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
74 <tr>
75 <td> <pre>core::aabbox3d&lt;f32&gt; Box;<br>video::S3DVertex Vertices[4];<br>video::SMaterial Material;</pre> </td>
76 </tr>
77 </table>
78 <p>The parameters of the constructor specify the parent of the scene node,
79 a pointer to the scene manager, and an id of the scene node. In the
80 constructor itself, we call the parent classes constructor, set some
81 properties of the material we use to draw the scene node and create
82 the 4 vertices of the tetraeder we will draw later. </p>
83 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
84 <tr>
85 <td> <pre>public:</pre> <pre>CSampleSceneNode(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id)
86 : scene::ISceneNode(parent, mgr, id)
87{
88 Material.Wireframe = false;
89 Material.Lighting = false;</pre>
90 <pre> Vertices[0] = video::S3DVertex(0,0,10, 1,1,0,video::SColor(255,0,255,255),0,1);
91 Vertices[1] = video::S3DVertex(10,0,-10, 1,0,0,video::SColor(255,255,0,255),1,1);
92 Vertices[2] = video::S3DVertex(0,20,0, 0,1,1,video::SColor(255,255,255,0),1,0);
93 Vertices[3] = video::S3DVertex(-10,0,-10, 0,0,1,video::SColor(255,0,255,0),0,0);
94</pre></td>
95 </tr>
96 </table>
97 <br>
98 The Irrlicht Engine needs to know the bounding box of your scene node.
99 It will use it for doing automatic culling and other things. Hence we
100 need to create a bounding box from the 4 vertices we use. If you do not
101 want the engine to use the box for automatic culling, and/or don't want
102 to create the box, you could also write<br>
103 <font face="Courier New, Courier, mono">AutomaticCullingEnabled = false;</font>.<br>
104 <br>
105 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
106 <tr>
107 <td> <pre> Box.reset(Vertices[0].Pos);<br> for (s32 i=1; i&lt;4; ++i)<br> Box.addInternalPoint(Vertices[i].Pos);
108}</pre> </td>
109 </tr>
110 </table>
111 <br>
112 <p>Before it is drawn, the OnPreRender() method of every scene node in
113 the scene is called by the scene manager. If the scene node wishes to
114 draw itself, it may register itself in the scene manager to be drawn.
115 This is necessary to tell the scene manager when it should call the
116 ::render method. For example normal scene nodes render their content
117 one after another, while stencil buffer shadows would like to be drawn
118 after all other scene nodes. And camera or light scene nodes need to
119 be rendered before all other scene nodes (if at all). <br>
120 So here we simply register the scene node to get rendered normally.
121 If we would like to let it be rendered like cameras or light, we would
122 have to call SceneManager-&gt;registerNodeForRendering(this, SNRT_LIGHT_AND_CAMERA);
123 <br>
124 After this, we call the OnPreRender-method of the base class ISceneNode,
125 which simply lets also all the child scene nodes of this node register
126 themselves. </p>
127 </div>
128 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
129 <tr>
130 <td> <pre>virtual void OnPreRender()<br>{<br> if (IsVisible)<br> SceneManager-&gt;registerNodeForRendering(this);
131
132 ISceneNode::OnPreRender();
133}</pre> </td>
134 </tr>
135 </table>
136 <p>In the render() method most of the interresting stuff happenes: The Scene
137 node renders itself. We override this method and draw the tetraeder.</p>
138 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
139 <tr>
140 <td> <pre>virtual void render()<br>{<br> u16 indices[] = { 0,2,3, 2,1,3, 1,0,3, 2,0,1 };
141 video::IVideoDriver* driver = SceneManager-&gt;getVideoDriver();</pre>
142 <pre> driver-&gt;setMaterial(Material);
143 driver-&gt;setTransform(video::ETS_WORLD, AbsoluteTransformation);
144 driver-&gt;drawIndexedTriangleList(&amp;Vertices[0], 4, &amp;indices[0], 4);
145}</pre> </td>
146 </tr>
147 </table>
148 <p> At least, we create three small additional methods. GetBoundingBox()
149 returns the bounding box of this scene node, <br>
150 GetMaterialCount() returns the amount of materials in this scene node
151 (our tetraeder only has one material), and getMaterial() returns the material
152 at an index. Because we have only one material here, we can return the
153 only one material, assuming that no one ever calls getMaterial() with
154 an index greater than 0. </p>
155 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
156 <tr>
157 <td><pre> virtual const core::aabbox3d&lt;f32&gt;&amp; getBoundingBox() const<br> {<br> return Box;<br> }</pre> <pre> virtual u32 getMaterialCount()
158 {
159 return 1;
160 }</pre> <pre> virtual video::SMaterial&amp; getMaterial(u32 i)
161 {
162 return Material;
163 }
164};</pre></td>
165 </tr>
166 </table>
167 <p>That's it. The Scene node is done. Now we simply have to start the engine,
168 create the scene node and a camera, and look at the result.</p>
169 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
170 <tr>
171 <td> <pre>int main()<br>{
172 IrrlichtDevice *device =
173 createDevice(video::EDT_OPENGL, core::dimension2d&lt;s32&gt;(640, 480), 16, false);</pre> <pre> device-&gt;setWindowCaption(L&quot;Custom Scene Node - Irrlicht Engine Demo&quot;);</pre> <pre> video::IVideoDriver* driver = device-&gt;getVideoDriver();
174 scene::ISceneManager* smgr = device-&gt;getSceneManager();</pre>
175 <pre> smgr-&gt;addCameraSceneNode(0, core::vector3df(0,-40,0), core::vector3df(0,0,0));
176 </pre></td>
177 </tr>
178 </table>
179 <p>Create our scene node. Note that it is dropped (-&gt;drop()) instantly
180 after we create it. This is possible because the scene manager now takes
181 care of it. This is not nessecary, it would also be possible to drop it
182 at the end of the program.</p>
183 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
184 <tr>
185 <td> <pre>CSampleSceneNode *myNode = <br> new CSampleSceneNode(smgr-&gt;getRootSceneNode(), smgr, 666);
186
187myNode-&gt;drop();</pre> </td>
188 </tr>
189 </table>
190 <p>To animate something in this boring scene consisting only of one tetraeder,
191 and to show, that you now can use your scene node like any other scene
192 node in the engine, we add an animator to the scene node, which rotates
193 the node a little bit. </p>
194 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
195 <tr>
196 <td> <pre>scene::ISceneNodeAnimator* anim = <br> smgr-&gt;createRotationAnimator(core::vector3df(0.8f, 0, 0.8f));
197
198myNode-&gt;addAnimator(anim);
199anim-&gt;drop();</pre> </td>
200 </tr>
201 </table>
202 <p>Now draw everything and finish.</p>
203 <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center">
204 <tr>
205 <td> <pre> while(device-&gt;run())<br> {<br> driver-&gt;beginScene(true, true, video::SColor(0,100,100,100));
206
207 smgr-&gt;drawAll();
208
209 driver-&gt;endScene();
210 }
211
212device-&gt;drop();
213return 0;
214}</pre> </td>
215 </tr>
216 </table>
217 <p>That's it. Compile and play around with the program. </p></td>
218 </tr>
219</table>
220<p>&nbsp;</p>
221 </body>
222</html>