diff options
Diffstat (limited to 'libraries/irrlicht-1.8/examples/11.PerPixelLighting')
9 files changed, 2174 insertions, 2174 deletions
diff --git a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/Makefile b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/Makefile index affdc02..169cc49 100644 --- a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/Makefile +++ b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/Makefile | |||
@@ -1,38 +1,38 @@ | |||
1 | # Makefile for Irrlicht Examples | 1 | # Makefile for Irrlicht Examples |
2 | # It's usually sufficient to change just the target name and source file list | 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 | 3 | # and be sure that CXX is set to a valid compiler |
4 | Target = 11.PerPixelLighting | 4 | Target = 11.PerPixelLighting |
5 | Sources = main.cpp | 5 | Sources = main.cpp |
6 | 6 | ||
7 | # general compiler settings | 7 | # general compiler settings |
8 | CPPFLAGS = -I../../include -I/usr/X11R6/include | 8 | CPPFLAGS = -I../../include -I/usr/X11R6/include |
9 | CXXFLAGS = -O3 -ffast-math | 9 | CXXFLAGS = -O3 -ffast-math |
10 | #CXXFLAGS = -g -Wall | 10 | #CXXFLAGS = -g -Wall |
11 | 11 | ||
12 | #default target is Linux | 12 | #default target is Linux |
13 | all: all_linux | 13 | all: all_linux |
14 | 14 | ||
15 | ifeq ($(HOSTTYPE), x86_64) | 15 | ifeq ($(HOSTTYPE), x86_64) |
16 | LIBSELECT=64 | 16 | LIBSELECT=64 |
17 | endif | 17 | endif |
18 | 18 | ||
19 | # target specific settings | 19 | # target specific settings |
20 | all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -lXcursor | 20 | all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -lXcursor |
21 | all_linux clean_linux: SYSTEM=Linux | 21 | all_linux clean_linux: SYSTEM=Linux |
22 | all_win32: LDFLAGS = -L../../lib/Win32-gcc -lIrrlicht -lopengl32 -lm | 22 | all_win32: LDFLAGS = -L../../lib/Win32-gcc -lIrrlicht -lopengl32 -lm |
23 | all_win32 clean_win32: SYSTEM=Win32-gcc | 23 | all_win32 clean_win32: SYSTEM=Win32-gcc |
24 | all_win32 clean_win32: SUF=.exe | 24 | all_win32 clean_win32: SUF=.exe |
25 | # name of the binary - only valid for targets which set SYSTEM | 25 | # name of the binary - only valid for targets which set SYSTEM |
26 | DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF) | 26 | DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF) |
27 | 27 | ||
28 | all_linux all_win32: | 28 | all_linux all_win32: |
29 | $(warning Building...) | 29 | $(warning Building...) |
30 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS) | 30 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS) |
31 | 31 | ||
32 | clean: clean_linux clean_win32 | 32 | clean: clean_linux clean_win32 |
33 | $(warning Cleaning...) | 33 | $(warning Cleaning...) |
34 | 34 | ||
35 | clean_linux clean_win32: | 35 | clean_linux clean_win32: |
36 | @$(RM) $(DESTPATH) | 36 | @$(RM) $(DESTPATH) |
37 | 37 | ||
38 | .PHONY: all all_win32 clean clean_linux clean_win32 | 38 | .PHONY: all all_win32 clean clean_linux clean_win32 |
diff --git a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting.dev b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting.dev index c83a502..9b050c9 100644 --- a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting.dev +++ b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting.dev | |||
@@ -1,59 +1,59 @@ | |||
1 | [Project] | 1 | [Project] |
2 | FileName=example.dev | 2 | FileName=example.dev |
3 | Name=Irrlicht Example 11 Per-Pixel Lighting | 3 | Name=Irrlicht Example 11 Per-Pixel Lighting |
4 | UnitCount=1 | 4 | UnitCount=1 |
5 | Type=1 | 5 | Type=1 |
6 | Ver=1 | 6 | Ver=1 |
7 | ObjFiles= | 7 | ObjFiles= |
8 | Includes=..\..\include | 8 | Includes=..\..\include |
9 | Libs= | 9 | Libs= |
10 | PrivateResource= | 10 | PrivateResource= |
11 | ResourceIncludes= | 11 | ResourceIncludes= |
12 | MakeIncludes= | 12 | MakeIncludes= |
13 | Compiler= | 13 | Compiler= |
14 | CppCompiler= | 14 | CppCompiler= |
15 | Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_ | 15 | Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_ |
16 | IsCpp=1 | 16 | IsCpp=1 |
17 | Icon= | 17 | Icon= |
18 | ExeOutput=../../bin/Win32-gcc | 18 | ExeOutput=../../bin/Win32-gcc |
19 | ObjectOutput=obj | 19 | ObjectOutput=obj |
20 | OverrideOutput=1 | 20 | OverrideOutput=1 |
21 | OverrideOutputName=11.PerPixelLighting.exe | 21 | OverrideOutputName=11.PerPixelLighting.exe |
22 | HostApplication= | 22 | HostApplication= |
23 | Folders= | 23 | Folders= |
24 | CommandLine= | 24 | CommandLine= |
25 | IncludeVersionInfo=0 | 25 | IncludeVersionInfo=0 |
26 | SupportXPThemes=0 | 26 | SupportXPThemes=0 |
27 | CompilerSet=0 | 27 | CompilerSet=0 |
28 | CompilerSettings=0000000000000000000000 | 28 | CompilerSettings=0000000000000000000000 |
29 | UseCustomMakefile=0 | 29 | UseCustomMakefile=0 |
30 | CustomMakefile= | 30 | CustomMakefile= |
31 | 31 | ||
32 | [Unit1] | 32 | [Unit1] |
33 | FileName=main.cpp | 33 | FileName=main.cpp |
34 | CompileCpp=1 | 34 | CompileCpp=1 |
35 | Folder=Projekt1 | 35 | Folder=Projekt1 |
36 | Compile=1 | 36 | Compile=1 |
37 | Link=1 | 37 | Link=1 |
38 | Priority=1000 | 38 | Priority=1000 |
39 | OverrideBuildCmd=0 | 39 | OverrideBuildCmd=0 |
40 | BuildCmd= | 40 | BuildCmd= |
41 | 41 | ||
42 | [VersionInfo] | 42 | [VersionInfo] |
43 | Major=0 | 43 | Major=0 |
44 | Minor=1 | 44 | Minor=1 |
45 | Release=1 | 45 | Release=1 |
46 | Build=1 | 46 | Build=1 |
47 | LanguageID=1033 | 47 | LanguageID=1033 |
48 | CharsetID=1252 | 48 | CharsetID=1252 |
49 | CompanyName= | 49 | CompanyName= |
50 | FileVersion= | 50 | FileVersion= |
51 | FileDescription=Irrlicht Engine example compiled using DevCpp and gcc | 51 | FileDescription=Irrlicht Engine example compiled using DevCpp and gcc |
52 | InternalName= | 52 | InternalName= |
53 | LegalCopyright= | 53 | LegalCopyright= |
54 | LegalTrademarks= | 54 | LegalTrademarks= |
55 | OriginalFilename= | 55 | OriginalFilename= |
56 | ProductName= | 56 | ProductName= |
57 | ProductVersion= | 57 | ProductVersion= |
58 | AutoIncBuildNr=0 | 58 | AutoIncBuildNr=0 |
59 | 59 | ||
diff --git a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting.vcproj b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting.vcproj index 94d7e6a..4e38600 100644 --- a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting.vcproj +++ b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting.vcproj | |||
@@ -1,163 +1,163 @@ | |||
1 | <?xml version="1.0" encoding="Windows-1252"?> | 1 | <?xml version="1.0" encoding="Windows-1252"?> |
2 | <VisualStudioProject | 2 | <VisualStudioProject |
3 | ProjectType="Visual C++" | 3 | ProjectType="Visual C++" |
4 | Version="7.10" | 4 | Version="7.10" |
5 | Name="11.PerPixelLighting" | 5 | Name="11.PerPixelLighting" |
6 | ProjectGUID="{EC388ECA-E430-477A-A969-66FE5F84508A}" | 6 | ProjectGUID="{EC388ECA-E430-477A-A969-66FE5F84508A}" |
7 | SccProjectName="" | 7 | SccProjectName="" |
8 | SccLocalPath=""> | 8 | SccLocalPath=""> |
9 | <Platforms> | 9 | <Platforms> |
10 | <Platform | 10 | <Platform |
11 | Name="Win32"/> | 11 | Name="Win32"/> |
12 | </Platforms> | 12 | </Platforms> |
13 | <Configurations> | 13 | <Configurations> |
14 | <Configuration | 14 | <Configuration |
15 | Name="Debug|Win32" | 15 | Name="Debug|Win32" |
16 | OutputDirectory=".\Debug" | 16 | OutputDirectory=".\Debug" |
17 | IntermediateDirectory=".\Debug" | 17 | IntermediateDirectory=".\Debug" |
18 | ConfigurationType="1" | 18 | ConfigurationType="1" |
19 | UseOfMFC="0" | 19 | UseOfMFC="0" |
20 | ATLMinimizesCRunTimeLibraryUsage="FALSE" | 20 | ATLMinimizesCRunTimeLibraryUsage="FALSE" |
21 | CharacterSet="2"> | 21 | CharacterSet="2"> |
22 | <Tool | 22 | <Tool |
23 | Name="VCCLCompilerTool" | 23 | Name="VCCLCompilerTool" |
24 | Optimization="0" | 24 | Optimization="0" |
25 | AdditionalIncludeDirectories="..\..\include" | 25 | AdditionalIncludeDirectories="..\..\include" |
26 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" | 26 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" |
27 | BasicRuntimeChecks="3" | 27 | BasicRuntimeChecks="3" |
28 | RuntimeLibrary="5" | 28 | RuntimeLibrary="5" |
29 | UsePrecompiledHeader="2" | 29 | UsePrecompiledHeader="2" |
30 | PrecompiledHeaderFile=".\Debug/PerPixelLighting.pch" | 30 | PrecompiledHeaderFile=".\Debug/PerPixelLighting.pch" |
31 | AssemblerListingLocation=".\Debug/" | 31 | AssemblerListingLocation=".\Debug/" |
32 | ObjectFile=".\Debug/" | 32 | ObjectFile=".\Debug/" |
33 | ProgramDataBaseFileName=".\Debug/" | 33 | ProgramDataBaseFileName=".\Debug/" |
34 | WarningLevel="3" | 34 | WarningLevel="3" |
35 | SuppressStartupBanner="TRUE" | 35 | SuppressStartupBanner="TRUE" |
36 | DebugInformationFormat="4" | 36 | DebugInformationFormat="4" |
37 | CompileAs="0"/> | 37 | CompileAs="0"/> |
38 | <Tool | 38 | <Tool |
39 | Name="VCCustomBuildTool"/> | 39 | Name="VCCustomBuildTool"/> |
40 | <Tool | 40 | <Tool |
41 | Name="VCLinkerTool" | 41 | Name="VCLinkerTool" |
42 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" | 42 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" |
43 | LinkIncremental="0" | 43 | LinkIncremental="0" |
44 | SuppressStartupBanner="TRUE" | 44 | SuppressStartupBanner="TRUE" |
45 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 45 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
46 | GenerateDebugInformation="TRUE" | 46 | GenerateDebugInformation="TRUE" |
47 | ProgramDatabaseFile=".\Debug/PerPixelLighting.pdb" | 47 | ProgramDatabaseFile=".\Debug/PerPixelLighting.pdb" |
48 | SubSystem="1" | 48 | SubSystem="1" |
49 | TargetMachine="1"/> | 49 | TargetMachine="1"/> |
50 | <Tool | 50 | <Tool |
51 | Name="VCMIDLTool" | 51 | Name="VCMIDLTool" |
52 | TypeLibraryName=".\Debug/PerPixelLighting.tlb" | 52 | TypeLibraryName=".\Debug/PerPixelLighting.tlb" |
53 | HeaderFileName=""/> | 53 | HeaderFileName=""/> |
54 | <Tool | 54 | <Tool |
55 | Name="VCPostBuildEventTool"/> | 55 | Name="VCPostBuildEventTool"/> |
56 | <Tool | 56 | <Tool |
57 | Name="VCPreBuildEventTool"/> | 57 | Name="VCPreBuildEventTool"/> |
58 | <Tool | 58 | <Tool |
59 | Name="VCPreLinkEventTool"/> | 59 | Name="VCPreLinkEventTool"/> |
60 | <Tool | 60 | <Tool |
61 | Name="VCResourceCompilerTool" | 61 | Name="VCResourceCompilerTool" |
62 | PreprocessorDefinitions="_DEBUG" | 62 | PreprocessorDefinitions="_DEBUG" |
63 | Culture="3079"/> | 63 | Culture="3079"/> |
64 | <Tool | 64 | <Tool |
65 | Name="VCWebServiceProxyGeneratorTool"/> | 65 | Name="VCWebServiceProxyGeneratorTool"/> |
66 | <Tool | 66 | <Tool |
67 | Name="VCXMLDataGeneratorTool"/> | 67 | Name="VCXMLDataGeneratorTool"/> |
68 | <Tool | 68 | <Tool |
69 | Name="VCWebDeploymentTool"/> | 69 | Name="VCWebDeploymentTool"/> |
70 | <Tool | 70 | <Tool |
71 | Name="VCManagedWrapperGeneratorTool"/> | 71 | Name="VCManagedWrapperGeneratorTool"/> |
72 | <Tool | 72 | <Tool |
73 | Name="VCAuxiliaryManagedWrapperGeneratorTool"/> | 73 | Name="VCAuxiliaryManagedWrapperGeneratorTool"/> |
74 | </Configuration> | 74 | </Configuration> |
75 | <Configuration | 75 | <Configuration |
76 | Name="Release|Win32" | 76 | Name="Release|Win32" |
77 | OutputDirectory=".\Release" | 77 | OutputDirectory=".\Release" |
78 | IntermediateDirectory=".\Release" | 78 | IntermediateDirectory=".\Release" |
79 | ConfigurationType="1" | 79 | ConfigurationType="1" |
80 | UseOfMFC="0" | 80 | UseOfMFC="0" |
81 | ATLMinimizesCRunTimeLibraryUsage="FALSE" | 81 | ATLMinimizesCRunTimeLibraryUsage="FALSE" |
82 | CharacterSet="2"> | 82 | CharacterSet="2"> |
83 | <Tool | 83 | <Tool |
84 | Name="VCCLCompilerTool" | 84 | Name="VCCLCompilerTool" |
85 | Optimization="2" | 85 | Optimization="2" |
86 | InlineFunctionExpansion="1" | 86 | InlineFunctionExpansion="1" |
87 | AdditionalIncludeDirectories="..\..\include" | 87 | AdditionalIncludeDirectories="..\..\include" |
88 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" | 88 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" |
89 | StringPooling="TRUE" | 89 | StringPooling="TRUE" |
90 | RuntimeLibrary="4" | 90 | RuntimeLibrary="4" |
91 | EnableFunctionLevelLinking="TRUE" | 91 | EnableFunctionLevelLinking="TRUE" |
92 | UsePrecompiledHeader="2" | 92 | UsePrecompiledHeader="2" |
93 | PrecompiledHeaderFile=".\Release/PerPixelLighting.pch" | 93 | PrecompiledHeaderFile=".\Release/PerPixelLighting.pch" |
94 | AssemblerListingLocation=".\Release/" | 94 | AssemblerListingLocation=".\Release/" |
95 | ObjectFile=".\Release/" | 95 | ObjectFile=".\Release/" |
96 | ProgramDataBaseFileName=".\Release/" | 96 | ProgramDataBaseFileName=".\Release/" |
97 | WarningLevel="3" | 97 | WarningLevel="3" |
98 | SuppressStartupBanner="TRUE" | 98 | SuppressStartupBanner="TRUE" |
99 | CompileAs="0"/> | 99 | CompileAs="0"/> |
100 | <Tool | 100 | <Tool |
101 | Name="VCCustomBuildTool"/> | 101 | Name="VCCustomBuildTool"/> |
102 | <Tool | 102 | <Tool |
103 | Name="VCLinkerTool" | 103 | Name="VCLinkerTool" |
104 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" | 104 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" |
105 | LinkIncremental="0" | 105 | LinkIncremental="0" |
106 | SuppressStartupBanner="TRUE" | 106 | SuppressStartupBanner="TRUE" |
107 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 107 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
108 | ProgramDatabaseFile=".\Release/PerPixelLighting.pdb" | 108 | ProgramDatabaseFile=".\Release/PerPixelLighting.pdb" |
109 | SubSystem="1" | 109 | SubSystem="1" |
110 | TargetMachine="1"/> | 110 | TargetMachine="1"/> |
111 | <Tool | 111 | <Tool |
112 | Name="VCMIDLTool" | 112 | Name="VCMIDLTool" |
113 | TypeLibraryName=".\Release/PerPixelLighting.tlb" | 113 | TypeLibraryName=".\Release/PerPixelLighting.tlb" |
114 | HeaderFileName=""/> | 114 | HeaderFileName=""/> |
115 | <Tool | 115 | <Tool |
116 | Name="VCPostBuildEventTool"/> | 116 | Name="VCPostBuildEventTool"/> |
117 | <Tool | 117 | <Tool |
118 | Name="VCPreBuildEventTool"/> | 118 | Name="VCPreBuildEventTool"/> |
119 | <Tool | 119 | <Tool |
120 | Name="VCPreLinkEventTool"/> | 120 | Name="VCPreLinkEventTool"/> |
121 | <Tool | 121 | <Tool |
122 | Name="VCResourceCompilerTool" | 122 | Name="VCResourceCompilerTool" |
123 | PreprocessorDefinitions="NDEBUG" | 123 | PreprocessorDefinitions="NDEBUG" |
124 | Culture="3079"/> | 124 | Culture="3079"/> |
125 | <Tool | 125 | <Tool |
126 | Name="VCWebServiceProxyGeneratorTool"/> | 126 | Name="VCWebServiceProxyGeneratorTool"/> |
127 | <Tool | 127 | <Tool |
128 | Name="VCXMLDataGeneratorTool"/> | 128 | Name="VCXMLDataGeneratorTool"/> |
129 | <Tool | 129 | <Tool |
130 | Name="VCWebDeploymentTool"/> | 130 | Name="VCWebDeploymentTool"/> |
131 | <Tool | 131 | <Tool |
132 | Name="VCManagedWrapperGeneratorTool"/> | 132 | Name="VCManagedWrapperGeneratorTool"/> |
133 | <Tool | 133 | <Tool |
134 | Name="VCAuxiliaryManagedWrapperGeneratorTool"/> | 134 | Name="VCAuxiliaryManagedWrapperGeneratorTool"/> |
135 | </Configuration> | 135 | </Configuration> |
136 | </Configurations> | 136 | </Configurations> |
137 | <References> | 137 | <References> |
138 | </References> | 138 | </References> |
139 | <Files> | 139 | <Files> |
140 | <File | 140 | <File |
141 | RelativePath="main.cpp"> | 141 | RelativePath="main.cpp"> |
142 | <FileConfiguration | 142 | <FileConfiguration |
143 | Name="Debug|Win32"> | 143 | Name="Debug|Win32"> |
144 | <Tool | 144 | <Tool |
145 | Name="VCCLCompilerTool" | 145 | Name="VCCLCompilerTool" |
146 | Optimization="0" | 146 | Optimization="0" |
147 | AdditionalIncludeDirectories="" | 147 | AdditionalIncludeDirectories="" |
148 | PreprocessorDefinitions="" | 148 | PreprocessorDefinitions="" |
149 | BasicRuntimeChecks="3"/> | 149 | BasicRuntimeChecks="3"/> |
150 | </FileConfiguration> | 150 | </FileConfiguration> |
151 | <FileConfiguration | 151 | <FileConfiguration |
152 | Name="Release|Win32"> | 152 | Name="Release|Win32"> |
153 | <Tool | 153 | <Tool |
154 | Name="VCCLCompilerTool" | 154 | Name="VCCLCompilerTool" |
155 | Optimization="2" | 155 | Optimization="2" |
156 | AdditionalIncludeDirectories="" | 156 | AdditionalIncludeDirectories="" |
157 | PreprocessorDefinitions=""/> | 157 | PreprocessorDefinitions=""/> |
158 | </FileConfiguration> | 158 | </FileConfiguration> |
159 | </File> | 159 | </File> |
160 | </Files> | 160 | </Files> |
161 | <Globals> | 161 | <Globals> |
162 | </Globals> | 162 | </Globals> |
163 | </VisualStudioProject> | 163 | </VisualStudioProject> |
diff --git a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc10.vcxproj b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc10.vcxproj index 267ded9..28ee709 100644 --- a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc10.vcxproj +++ b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc10.vcxproj | |||
@@ -1,231 +1,231 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 2 | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
3 | <ItemGroup Label="ProjectConfigurations"> | 3 | <ItemGroup Label="ProjectConfigurations"> |
4 | <ProjectConfiguration Include="Debug|Win32"> | 4 | <ProjectConfiguration Include="Debug|Win32"> |
5 | <Configuration>Debug</Configuration> | 5 | <Configuration>Debug</Configuration> |
6 | <Platform>Win32</Platform> | 6 | <Platform>Win32</Platform> |
7 | </ProjectConfiguration> | 7 | </ProjectConfiguration> |
8 | <ProjectConfiguration Include="Debug|x64"> | 8 | <ProjectConfiguration Include="Debug|x64"> |
9 | <Configuration>Debug</Configuration> | 9 | <Configuration>Debug</Configuration> |
10 | <Platform>x64</Platform> | 10 | <Platform>x64</Platform> |
11 | </ProjectConfiguration> | 11 | </ProjectConfiguration> |
12 | <ProjectConfiguration Include="Release|Win32"> | 12 | <ProjectConfiguration Include="Release|Win32"> |
13 | <Configuration>Release</Configuration> | 13 | <Configuration>Release</Configuration> |
14 | <Platform>Win32</Platform> | 14 | <Platform>Win32</Platform> |
15 | </ProjectConfiguration> | 15 | </ProjectConfiguration> |
16 | <ProjectConfiguration Include="Release|x64"> | 16 | <ProjectConfiguration Include="Release|x64"> |
17 | <Configuration>Release</Configuration> | 17 | <Configuration>Release</Configuration> |
18 | <Platform>x64</Platform> | 18 | <Platform>x64</Platform> |
19 | </ProjectConfiguration> | 19 | </ProjectConfiguration> |
20 | </ItemGroup> | 20 | </ItemGroup> |
21 | <PropertyGroup Label="Globals"> | 21 | <PropertyGroup Label="Globals"> |
22 | <ProjectName>11.PerPixelLighting</ProjectName> | 22 | <ProjectName>11.PerPixelLighting</ProjectName> |
23 | <ProjectGuid>{C4B42409-542D-4EFC-9E6B-44713FD47A33}</ProjectGuid> | 23 | <ProjectGuid>{C4B42409-542D-4EFC-9E6B-44713FD47A33}</ProjectGuid> |
24 | <RootNamespace>PerPixelLighting</RootNamespace> | 24 | <RootNamespace>PerPixelLighting</RootNamespace> |
25 | </PropertyGroup> | 25 | </PropertyGroup> |
26 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | 26 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> |
27 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | 27 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> |
28 | <ConfigurationType>Application</ConfigurationType> | 28 | <ConfigurationType>Application</ConfigurationType> |
29 | <UseOfMfc>false</UseOfMfc> | 29 | <UseOfMfc>false</UseOfMfc> |
30 | <CharacterSet>MultiByte</CharacterSet> | 30 | <CharacterSet>MultiByte</CharacterSet> |
31 | </PropertyGroup> | 31 | </PropertyGroup> |
32 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | 32 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> |
33 | <ConfigurationType>Application</ConfigurationType> | 33 | <ConfigurationType>Application</ConfigurationType> |
34 | <UseOfMfc>false</UseOfMfc> | 34 | <UseOfMfc>false</UseOfMfc> |
35 | <CharacterSet>MultiByte</CharacterSet> | 35 | <CharacterSet>MultiByte</CharacterSet> |
36 | </PropertyGroup> | 36 | </PropertyGroup> |
37 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | 37 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> |
38 | <ConfigurationType>Application</ConfigurationType> | 38 | <ConfigurationType>Application</ConfigurationType> |
39 | <UseOfMfc>false</UseOfMfc> | 39 | <UseOfMfc>false</UseOfMfc> |
40 | <CharacterSet>MultiByte</CharacterSet> | 40 | <CharacterSet>MultiByte</CharacterSet> |
41 | </PropertyGroup> | 41 | </PropertyGroup> |
42 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | 42 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> |
43 | <ConfigurationType>Application</ConfigurationType> | 43 | <ConfigurationType>Application</ConfigurationType> |
44 | <UseOfMfc>false</UseOfMfc> | 44 | <UseOfMfc>false</UseOfMfc> |
45 | <CharacterSet>MultiByte</CharacterSet> | 45 | <CharacterSet>MultiByte</CharacterSet> |
46 | </PropertyGroup> | 46 | </PropertyGroup> |
47 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | 47 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> |
48 | <ImportGroup Label="ExtensionSettings"> | 48 | <ImportGroup Label="ExtensionSettings"> |
49 | </ImportGroup> | 49 | </ImportGroup> |
50 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> | 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" /> | 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" /> | 52 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
53 | </ImportGroup> | 53 | </ImportGroup> |
54 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> | 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" /> | 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" /> | 56 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
57 | </ImportGroup> | 57 | </ImportGroup> |
58 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> | 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" /> | 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" /> | 60 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
61 | </ImportGroup> | 61 | </ImportGroup> |
62 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> | 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" /> | 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" /> | 64 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
65 | </ImportGroup> | 65 | </ImportGroup> |
66 | <PropertyGroup Label="UserMacros" /> | 66 | <PropertyGroup Label="UserMacros" /> |
67 | <PropertyGroup> | 67 | <PropertyGroup> |
68 | <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> | 68 | <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> |
69 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> | 69 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> |
70 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir> | 70 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir> |
71 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 71 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
72 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 72 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
73 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> | 73 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> |
74 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir> | 74 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir> |
75 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 75 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
76 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 76 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
77 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | 77 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> |
78 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | 78 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> |
79 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 79 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
80 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 80 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
81 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 81 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
82 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 82 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
83 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | 83 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> |
84 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | 84 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> |
85 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 85 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
86 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 86 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
87 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 87 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
88 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 88 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
89 | </PropertyGroup> | 89 | </PropertyGroup> |
90 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | 90 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> |
91 | <Midl> | 91 | <Midl> |
92 | <TypeLibraryName>.\Debug/PerPixelLighting.tlb</TypeLibraryName> | 92 | <TypeLibraryName>.\Debug/PerPixelLighting.tlb</TypeLibraryName> |
93 | <HeaderFileName> | 93 | <HeaderFileName> |
94 | </HeaderFileName> | 94 | </HeaderFileName> |
95 | </Midl> | 95 | </Midl> |
96 | <ClCompile> | 96 | <ClCompile> |
97 | <Optimization>Disabled</Optimization> | 97 | <Optimization>Disabled</Optimization> |
98 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 98 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
99 | <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 99 | <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
100 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | 100 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> |
101 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | 101 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> |
102 | <PrecompiledHeader> | 102 | <PrecompiledHeader> |
103 | </PrecompiledHeader> | 103 | </PrecompiledHeader> |
104 | <WarningLevel>Level3</WarningLevel> | 104 | <WarningLevel>Level3</WarningLevel> |
105 | <DebugInformationFormat>EditAndContinue</DebugInformationFormat> | 105 | <DebugInformationFormat>EditAndContinue</DebugInformationFormat> |
106 | </ClCompile> | 106 | </ClCompile> |
107 | <ResourceCompile> | 107 | <ResourceCompile> |
108 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 108 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
109 | <Culture>0x0c07</Culture> | 109 | <Culture>0x0c07</Culture> |
110 | </ResourceCompile> | 110 | </ResourceCompile> |
111 | <Link> | 111 | <Link> |
112 | <OutputFile>..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe</OutputFile> | 112 | <OutputFile>..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe</OutputFile> |
113 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 113 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
114 | <GenerateDebugInformation>true</GenerateDebugInformation> | 114 | <GenerateDebugInformation>true</GenerateDebugInformation> |
115 | <SubSystem>Console</SubSystem> | 115 | <SubSystem>Console</SubSystem> |
116 | <DataExecutionPrevention> | 116 | <DataExecutionPrevention> |
117 | </DataExecutionPrevention> | 117 | </DataExecutionPrevention> |
118 | </Link> | 118 | </Link> |
119 | </ItemDefinitionGroup> | 119 | </ItemDefinitionGroup> |
120 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | 120 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> |
121 | <Midl> | 121 | <Midl> |
122 | <TypeLibraryName>.\Debug/PerPixelLighting.tlb</TypeLibraryName> | 122 | <TypeLibraryName>.\Debug/PerPixelLighting.tlb</TypeLibraryName> |
123 | <HeaderFileName> | 123 | <HeaderFileName> |
124 | </HeaderFileName> | 124 | </HeaderFileName> |
125 | </Midl> | 125 | </Midl> |
126 | <ClCompile> | 126 | <ClCompile> |
127 | <Optimization>Disabled</Optimization> | 127 | <Optimization>Disabled</Optimization> |
128 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 128 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
129 | <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 129 | <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
130 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | 130 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> |
131 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | 131 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> |
132 | <PrecompiledHeader> | 132 | <PrecompiledHeader> |
133 | </PrecompiledHeader> | 133 | </PrecompiledHeader> |
134 | <WarningLevel>Level3</WarningLevel> | 134 | <WarningLevel>Level3</WarningLevel> |
135 | <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | 135 | <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> |
136 | </ClCompile> | 136 | </ClCompile> |
137 | <ResourceCompile> | 137 | <ResourceCompile> |
138 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 138 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
139 | <Culture>0x0c07</Culture> | 139 | <Culture>0x0c07</Culture> |
140 | </ResourceCompile> | 140 | </ResourceCompile> |
141 | <Link> | 141 | <Link> |
142 | <OutputFile>..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe</OutputFile> | 142 | <OutputFile>..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe</OutputFile> |
143 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 143 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
144 | <GenerateDebugInformation>true</GenerateDebugInformation> | 144 | <GenerateDebugInformation>true</GenerateDebugInformation> |
145 | <SubSystem>Console</SubSystem> | 145 | <SubSystem>Console</SubSystem> |
146 | <DataExecutionPrevention> | 146 | <DataExecutionPrevention> |
147 | </DataExecutionPrevention> | 147 | </DataExecutionPrevention> |
148 | </Link> | 148 | </Link> |
149 | </ItemDefinitionGroup> | 149 | </ItemDefinitionGroup> |
150 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | 150 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> |
151 | <Midl> | 151 | <Midl> |
152 | <TypeLibraryName>.\Release/PerPixelLighting.tlb</TypeLibraryName> | 152 | <TypeLibraryName>.\Release/PerPixelLighting.tlb</TypeLibraryName> |
153 | <HeaderFileName> | 153 | <HeaderFileName> |
154 | </HeaderFileName> | 154 | </HeaderFileName> |
155 | </Midl> | 155 | </Midl> |
156 | <ClCompile> | 156 | <ClCompile> |
157 | <Optimization>MaxSpeed</Optimization> | 157 | <Optimization>MaxSpeed</Optimization> |
158 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> | 158 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> |
159 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 159 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
160 | <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 160 | <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
161 | <StringPooling>true</StringPooling> | 161 | <StringPooling>true</StringPooling> |
162 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | 162 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> |
163 | <FunctionLevelLinking>true</FunctionLevelLinking> | 163 | <FunctionLevelLinking>true</FunctionLevelLinking> |
164 | <PrecompiledHeader> | 164 | <PrecompiledHeader> |
165 | </PrecompiledHeader> | 165 | </PrecompiledHeader> |
166 | <WarningLevel>Level3</WarningLevel> | 166 | <WarningLevel>Level3</WarningLevel> |
167 | </ClCompile> | 167 | </ClCompile> |
168 | <ResourceCompile> | 168 | <ResourceCompile> |
169 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 169 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
170 | <Culture>0x0c07</Culture> | 170 | <Culture>0x0c07</Culture> |
171 | </ResourceCompile> | 171 | </ResourceCompile> |
172 | <Link> | 172 | <Link> |
173 | <OutputFile>..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe</OutputFile> | 173 | <OutputFile>..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe</OutputFile> |
174 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 174 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
175 | <SubSystem>Console</SubSystem> | 175 | <SubSystem>Console</SubSystem> |
176 | <DataExecutionPrevention> | 176 | <DataExecutionPrevention> |
177 | </DataExecutionPrevention> | 177 | </DataExecutionPrevention> |
178 | </Link> | 178 | </Link> |
179 | </ItemDefinitionGroup> | 179 | </ItemDefinitionGroup> |
180 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | 180 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> |
181 | <Midl> | 181 | <Midl> |
182 | <TypeLibraryName>.\Release/PerPixelLighting.tlb</TypeLibraryName> | 182 | <TypeLibraryName>.\Release/PerPixelLighting.tlb</TypeLibraryName> |
183 | <HeaderFileName> | 183 | <HeaderFileName> |
184 | </HeaderFileName> | 184 | </HeaderFileName> |
185 | </Midl> | 185 | </Midl> |
186 | <ClCompile> | 186 | <ClCompile> |
187 | <Optimization>MaxSpeed</Optimization> | 187 | <Optimization>MaxSpeed</Optimization> |
188 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> | 188 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> |
189 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 189 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
190 | <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 190 | <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
191 | <StringPooling>true</StringPooling> | 191 | <StringPooling>true</StringPooling> |
192 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | 192 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> |
193 | <FunctionLevelLinking>true</FunctionLevelLinking> | 193 | <FunctionLevelLinking>true</FunctionLevelLinking> |
194 | <PrecompiledHeader> | 194 | <PrecompiledHeader> |
195 | </PrecompiledHeader> | 195 | </PrecompiledHeader> |
196 | <WarningLevel>Level3</WarningLevel> | 196 | <WarningLevel>Level3</WarningLevel> |
197 | </ClCompile> | 197 | </ClCompile> |
198 | <ResourceCompile> | 198 | <ResourceCompile> |
199 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 199 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
200 | <Culture>0x0c07</Culture> | 200 | <Culture>0x0c07</Culture> |
201 | </ResourceCompile> | 201 | </ResourceCompile> |
202 | <Link> | 202 | <Link> |
203 | <OutputFile>..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe</OutputFile> | 203 | <OutputFile>..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe</OutputFile> |
204 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 204 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
205 | <SubSystem>Console</SubSystem> | 205 | <SubSystem>Console</SubSystem> |
206 | <DataExecutionPrevention> | 206 | <DataExecutionPrevention> |
207 | </DataExecutionPrevention> | 207 | </DataExecutionPrevention> |
208 | </Link> | 208 | </Link> |
209 | </ItemDefinitionGroup> | 209 | </ItemDefinitionGroup> |
210 | <ItemGroup> | 210 | <ItemGroup> |
211 | <ClCompile Include="main.cpp"> | 211 | <ClCompile Include="main.cpp"> |
212 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> | 212 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> |
213 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization> | 213 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization> |
214 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 214 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
215 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 215 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
216 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 216 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
217 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 217 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
218 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> | 218 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> |
219 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks> | 219 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks> |
220 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> | 220 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> |
221 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> | 221 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> |
222 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 222 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
223 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 223 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
224 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 224 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
225 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 225 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
226 | </ClCompile> | 226 | </ClCompile> |
227 | </ItemGroup> | 227 | </ItemGroup> |
228 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | 228 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> |
229 | <ImportGroup Label="ExtensionTargets"> | 229 | <ImportGroup Label="ExtensionTargets"> |
230 | </ImportGroup> | 230 | </ImportGroup> |
231 | </Project> \ No newline at end of file | 231 | </Project> \ No newline at end of file |
diff --git a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc11.vcxproj b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc11.vcxproj index 06fce8f..90874e5 100644 --- a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc11.vcxproj +++ b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc11.vcxproj | |||
@@ -1,235 +1,235 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 2 | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
3 | <ItemGroup Label="ProjectConfigurations"> | 3 | <ItemGroup Label="ProjectConfigurations"> |
4 | <ProjectConfiguration Include="Debug|Win32"> | 4 | <ProjectConfiguration Include="Debug|Win32"> |
5 | <Configuration>Debug</Configuration> | 5 | <Configuration>Debug</Configuration> |
6 | <Platform>Win32</Platform> | 6 | <Platform>Win32</Platform> |
7 | </ProjectConfiguration> | 7 | </ProjectConfiguration> |
8 | <ProjectConfiguration Include="Debug|x64"> | 8 | <ProjectConfiguration Include="Debug|x64"> |
9 | <Configuration>Debug</Configuration> | 9 | <Configuration>Debug</Configuration> |
10 | <Platform>x64</Platform> | 10 | <Platform>x64</Platform> |
11 | </ProjectConfiguration> | 11 | </ProjectConfiguration> |
12 | <ProjectConfiguration Include="Release|Win32"> | 12 | <ProjectConfiguration Include="Release|Win32"> |
13 | <Configuration>Release</Configuration> | 13 | <Configuration>Release</Configuration> |
14 | <Platform>Win32</Platform> | 14 | <Platform>Win32</Platform> |
15 | </ProjectConfiguration> | 15 | </ProjectConfiguration> |
16 | <ProjectConfiguration Include="Release|x64"> | 16 | <ProjectConfiguration Include="Release|x64"> |
17 | <Configuration>Release</Configuration> | 17 | <Configuration>Release</Configuration> |
18 | <Platform>x64</Platform> | 18 | <Platform>x64</Platform> |
19 | </ProjectConfiguration> | 19 | </ProjectConfiguration> |
20 | </ItemGroup> | 20 | </ItemGroup> |
21 | <PropertyGroup Label="Globals"> | 21 | <PropertyGroup Label="Globals"> |
22 | <ProjectName>11.PerPixelLighting</ProjectName> | 22 | <ProjectName>11.PerPixelLighting</ProjectName> |
23 | <ProjectGuid>{C4B42409-542D-4EFC-9E6B-44713FD47A33}</ProjectGuid> | 23 | <ProjectGuid>{C4B42409-542D-4EFC-9E6B-44713FD47A33}</ProjectGuid> |
24 | <RootNamespace>PerPixelLighting</RootNamespace> | 24 | <RootNamespace>PerPixelLighting</RootNamespace> |
25 | </PropertyGroup> | 25 | </PropertyGroup> |
26 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | 26 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> |
27 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | 27 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> |
28 | <ConfigurationType>Application</ConfigurationType> | 28 | <ConfigurationType>Application</ConfigurationType> |
29 | <UseOfMfc>false</UseOfMfc> | 29 | <UseOfMfc>false</UseOfMfc> |
30 | <CharacterSet>MultiByte</CharacterSet> | 30 | <CharacterSet>MultiByte</CharacterSet> |
31 | <PlatformToolset>v110</PlatformToolset> | 31 | <PlatformToolset>v110</PlatformToolset> |
32 | </PropertyGroup> | 32 | </PropertyGroup> |
33 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | 33 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> |
34 | <ConfigurationType>Application</ConfigurationType> | 34 | <ConfigurationType>Application</ConfigurationType> |
35 | <UseOfMfc>false</UseOfMfc> | 35 | <UseOfMfc>false</UseOfMfc> |
36 | <CharacterSet>MultiByte</CharacterSet> | 36 | <CharacterSet>MultiByte</CharacterSet> |
37 | <PlatformToolset>v110</PlatformToolset> | 37 | <PlatformToolset>v110</PlatformToolset> |
38 | </PropertyGroup> | 38 | </PropertyGroup> |
39 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | 39 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> |
40 | <ConfigurationType>Application</ConfigurationType> | 40 | <ConfigurationType>Application</ConfigurationType> |
41 | <UseOfMfc>false</UseOfMfc> | 41 | <UseOfMfc>false</UseOfMfc> |
42 | <CharacterSet>MultiByte</CharacterSet> | 42 | <CharacterSet>MultiByte</CharacterSet> |
43 | <PlatformToolset>v110</PlatformToolset> | 43 | <PlatformToolset>v110</PlatformToolset> |
44 | </PropertyGroup> | 44 | </PropertyGroup> |
45 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | 45 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> |
46 | <ConfigurationType>Application</ConfigurationType> | 46 | <ConfigurationType>Application</ConfigurationType> |
47 | <UseOfMfc>false</UseOfMfc> | 47 | <UseOfMfc>false</UseOfMfc> |
48 | <CharacterSet>MultiByte</CharacterSet> | 48 | <CharacterSet>MultiByte</CharacterSet> |
49 | <PlatformToolset>v110</PlatformToolset> | 49 | <PlatformToolset>v110</PlatformToolset> |
50 | </PropertyGroup> | 50 | </PropertyGroup> |
51 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | 51 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> |
52 | <ImportGroup Label="ExtensionSettings"> | 52 | <ImportGroup Label="ExtensionSettings"> |
53 | </ImportGroup> | 53 | </ImportGroup> |
54 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> | 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" /> | 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" /> | 56 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
57 | </ImportGroup> | 57 | </ImportGroup> |
58 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> | 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" /> | 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" /> | 60 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
61 | </ImportGroup> | 61 | </ImportGroup> |
62 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> | 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" /> | 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" /> | 64 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
65 | </ImportGroup> | 65 | </ImportGroup> |
66 | <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> | 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" /> | 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" /> | 68 | <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> |
69 | </ImportGroup> | 69 | </ImportGroup> |
70 | <PropertyGroup Label="UserMacros" /> | 70 | <PropertyGroup Label="UserMacros" /> |
71 | <PropertyGroup> | 71 | <PropertyGroup> |
72 | <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> | 72 | <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> |
73 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> | 73 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> |
74 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir> | 74 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir> |
75 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 75 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
76 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 76 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
77 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> | 77 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir> |
78 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir> | 78 | <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir> |
79 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 79 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
80 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 80 | <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
81 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | 81 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> |
82 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | 82 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> |
83 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 83 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
84 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 84 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
85 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> | 85 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> |
86 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> | 86 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> |
87 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> | 87 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> |
88 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> | 88 | <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> |
89 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 89 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
90 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 90 | <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
91 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> | 91 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> |
92 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> | 92 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> |
93 | </PropertyGroup> | 93 | </PropertyGroup> |
94 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | 94 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> |
95 | <Midl> | 95 | <Midl> |
96 | <TypeLibraryName>.\Debug/PerPixelLighting.tlb</TypeLibraryName> | 96 | <TypeLibraryName>.\Debug/PerPixelLighting.tlb</TypeLibraryName> |
97 | <HeaderFileName> | 97 | <HeaderFileName> |
98 | </HeaderFileName> | 98 | </HeaderFileName> |
99 | </Midl> | 99 | </Midl> |
100 | <ClCompile> | 100 | <ClCompile> |
101 | <Optimization>Disabled</Optimization> | 101 | <Optimization>Disabled</Optimization> |
102 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 102 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
103 | <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 103 | <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
104 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | 104 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> |
105 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | 105 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> |
106 | <PrecompiledHeader> | 106 | <PrecompiledHeader> |
107 | </PrecompiledHeader> | 107 | </PrecompiledHeader> |
108 | <WarningLevel>Level3</WarningLevel> | 108 | <WarningLevel>Level3</WarningLevel> |
109 | <DebugInformationFormat>EditAndContinue</DebugInformationFormat> | 109 | <DebugInformationFormat>EditAndContinue</DebugInformationFormat> |
110 | </ClCompile> | 110 | </ClCompile> |
111 | <ResourceCompile> | 111 | <ResourceCompile> |
112 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 112 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
113 | <Culture>0x0c07</Culture> | 113 | <Culture>0x0c07</Culture> |
114 | </ResourceCompile> | 114 | </ResourceCompile> |
115 | <Link> | 115 | <Link> |
116 | <OutputFile>..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe</OutputFile> | 116 | <OutputFile>..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe</OutputFile> |
117 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 117 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
118 | <GenerateDebugInformation>true</GenerateDebugInformation> | 118 | <GenerateDebugInformation>true</GenerateDebugInformation> |
119 | <SubSystem>Console</SubSystem> | 119 | <SubSystem>Console</SubSystem> |
120 | <DataExecutionPrevention> | 120 | <DataExecutionPrevention> |
121 | </DataExecutionPrevention> | 121 | </DataExecutionPrevention> |
122 | </Link> | 122 | </Link> |
123 | </ItemDefinitionGroup> | 123 | </ItemDefinitionGroup> |
124 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | 124 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> |
125 | <Midl> | 125 | <Midl> |
126 | <TypeLibraryName>.\Debug/PerPixelLighting.tlb</TypeLibraryName> | 126 | <TypeLibraryName>.\Debug/PerPixelLighting.tlb</TypeLibraryName> |
127 | <HeaderFileName> | 127 | <HeaderFileName> |
128 | </HeaderFileName> | 128 | </HeaderFileName> |
129 | </Midl> | 129 | </Midl> |
130 | <ClCompile> | 130 | <ClCompile> |
131 | <Optimization>Disabled</Optimization> | 131 | <Optimization>Disabled</Optimization> |
132 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 132 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
133 | <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 133 | <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
134 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | 134 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> |
135 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | 135 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> |
136 | <PrecompiledHeader> | 136 | <PrecompiledHeader> |
137 | </PrecompiledHeader> | 137 | </PrecompiledHeader> |
138 | <WarningLevel>Level3</WarningLevel> | 138 | <WarningLevel>Level3</WarningLevel> |
139 | <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> | 139 | <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> |
140 | </ClCompile> | 140 | </ClCompile> |
141 | <ResourceCompile> | 141 | <ResourceCompile> |
142 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 142 | <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
143 | <Culture>0x0c07</Culture> | 143 | <Culture>0x0c07</Culture> |
144 | </ResourceCompile> | 144 | </ResourceCompile> |
145 | <Link> | 145 | <Link> |
146 | <OutputFile>..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe</OutputFile> | 146 | <OutputFile>..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe</OutputFile> |
147 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 147 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
148 | <GenerateDebugInformation>true</GenerateDebugInformation> | 148 | <GenerateDebugInformation>true</GenerateDebugInformation> |
149 | <SubSystem>Console</SubSystem> | 149 | <SubSystem>Console</SubSystem> |
150 | <DataExecutionPrevention> | 150 | <DataExecutionPrevention> |
151 | </DataExecutionPrevention> | 151 | </DataExecutionPrevention> |
152 | </Link> | 152 | </Link> |
153 | </ItemDefinitionGroup> | 153 | </ItemDefinitionGroup> |
154 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | 154 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> |
155 | <Midl> | 155 | <Midl> |
156 | <TypeLibraryName>.\Release/PerPixelLighting.tlb</TypeLibraryName> | 156 | <TypeLibraryName>.\Release/PerPixelLighting.tlb</TypeLibraryName> |
157 | <HeaderFileName> | 157 | <HeaderFileName> |
158 | </HeaderFileName> | 158 | </HeaderFileName> |
159 | </Midl> | 159 | </Midl> |
160 | <ClCompile> | 160 | <ClCompile> |
161 | <Optimization>MaxSpeed</Optimization> | 161 | <Optimization>MaxSpeed</Optimization> |
162 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> | 162 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> |
163 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 163 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
164 | <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 164 | <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
165 | <StringPooling>true</StringPooling> | 165 | <StringPooling>true</StringPooling> |
166 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | 166 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> |
167 | <FunctionLevelLinking>true</FunctionLevelLinking> | 167 | <FunctionLevelLinking>true</FunctionLevelLinking> |
168 | <PrecompiledHeader> | 168 | <PrecompiledHeader> |
169 | </PrecompiledHeader> | 169 | </PrecompiledHeader> |
170 | <WarningLevel>Level3</WarningLevel> | 170 | <WarningLevel>Level3</WarningLevel> |
171 | </ClCompile> | 171 | </ClCompile> |
172 | <ResourceCompile> | 172 | <ResourceCompile> |
173 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 173 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
174 | <Culture>0x0c07</Culture> | 174 | <Culture>0x0c07</Culture> |
175 | </ResourceCompile> | 175 | </ResourceCompile> |
176 | <Link> | 176 | <Link> |
177 | <OutputFile>..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe</OutputFile> | 177 | <OutputFile>..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe</OutputFile> |
178 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 178 | <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
179 | <SubSystem>Console</SubSystem> | 179 | <SubSystem>Console</SubSystem> |
180 | <DataExecutionPrevention> | 180 | <DataExecutionPrevention> |
181 | </DataExecutionPrevention> | 181 | </DataExecutionPrevention> |
182 | </Link> | 182 | </Link> |
183 | </ItemDefinitionGroup> | 183 | </ItemDefinitionGroup> |
184 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | 184 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> |
185 | <Midl> | 185 | <Midl> |
186 | <TypeLibraryName>.\Release/PerPixelLighting.tlb</TypeLibraryName> | 186 | <TypeLibraryName>.\Release/PerPixelLighting.tlb</TypeLibraryName> |
187 | <HeaderFileName> | 187 | <HeaderFileName> |
188 | </HeaderFileName> | 188 | </HeaderFileName> |
189 | </Midl> | 189 | </Midl> |
190 | <ClCompile> | 190 | <ClCompile> |
191 | <Optimization>MaxSpeed</Optimization> | 191 | <Optimization>MaxSpeed</Optimization> |
192 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> | 192 | <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> |
193 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 193 | <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
194 | <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 194 | <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
195 | <StringPooling>true</StringPooling> | 195 | <StringPooling>true</StringPooling> |
196 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | 196 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> |
197 | <FunctionLevelLinking>true</FunctionLevelLinking> | 197 | <FunctionLevelLinking>true</FunctionLevelLinking> |
198 | <PrecompiledHeader> | 198 | <PrecompiledHeader> |
199 | </PrecompiledHeader> | 199 | </PrecompiledHeader> |
200 | <WarningLevel>Level3</WarningLevel> | 200 | <WarningLevel>Level3</WarningLevel> |
201 | </ClCompile> | 201 | </ClCompile> |
202 | <ResourceCompile> | 202 | <ResourceCompile> |
203 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | 203 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
204 | <Culture>0x0c07</Culture> | 204 | <Culture>0x0c07</Culture> |
205 | </ResourceCompile> | 205 | </ResourceCompile> |
206 | <Link> | 206 | <Link> |
207 | <OutputFile>..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe</OutputFile> | 207 | <OutputFile>..\..\bin\Win64-VisualStudio\11.PerPixelLighting.exe</OutputFile> |
208 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | 208 | <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> |
209 | <SubSystem>Console</SubSystem> | 209 | <SubSystem>Console</SubSystem> |
210 | <DataExecutionPrevention> | 210 | <DataExecutionPrevention> |
211 | </DataExecutionPrevention> | 211 | </DataExecutionPrevention> |
212 | </Link> | 212 | </Link> |
213 | </ItemDefinitionGroup> | 213 | </ItemDefinitionGroup> |
214 | <ItemGroup> | 214 | <ItemGroup> |
215 | <ClCompile Include="main.cpp"> | 215 | <ClCompile Include="main.cpp"> |
216 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> | 216 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> |
217 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization> | 217 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization> |
218 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 218 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
219 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 219 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
220 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 220 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
221 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 221 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
222 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> | 222 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> |
223 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks> | 223 | <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks> |
224 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> | 224 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> |
225 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> | 225 | <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> |
226 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 226 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
227 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | 227 | <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
228 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 228 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
229 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> | 229 | <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> |
230 | </ClCompile> | 230 | </ClCompile> |
231 | </ItemGroup> | 231 | </ItemGroup> |
232 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | 232 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> |
233 | <ImportGroup Label="ExtensionTargets"> | 233 | <ImportGroup Label="ExtensionTargets"> |
234 | </ImportGroup> | 234 | </ImportGroup> |
235 | </Project> \ No newline at end of file | 235 | </Project> \ No newline at end of file |
diff --git a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc8.vcproj b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc8.vcproj index b6830db..c1c8d13 100644 --- a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc8.vcproj +++ b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc8.vcproj | |||
@@ -1,231 +1,231 @@ | |||
1 | <?xml version="1.0" encoding="Windows-1252"?> | 1 | <?xml version="1.0" encoding="Windows-1252"?> |
2 | <VisualStudioProject | 2 | <VisualStudioProject |
3 | ProjectType="Visual C++" | 3 | ProjectType="Visual C++" |
4 | Version="8.00" | 4 | Version="8.00" |
5 | Name="11.PerPixelLighting_vc8" | 5 | Name="11.PerPixelLighting_vc8" |
6 | ProjectGUID="{C4B42409-542D-4EFC-9E6B-44713FD47A33}" | 6 | ProjectGUID="{C4B42409-542D-4EFC-9E6B-44713FD47A33}" |
7 | RootNamespace="PerPixelLighting_vc8" | 7 | RootNamespace="PerPixelLighting_vc8" |
8 | > | 8 | > |
9 | <Platforms> | 9 | <Platforms> |
10 | <Platform | 10 | <Platform |
11 | Name="Win32" | 11 | Name="Win32" |
12 | /> | 12 | /> |
13 | </Platforms> | 13 | </Platforms> |
14 | <ToolFiles> | 14 | <ToolFiles> |
15 | </ToolFiles> | 15 | </ToolFiles> |
16 | <Configurations> | 16 | <Configurations> |
17 | <Configuration | 17 | <Configuration |
18 | Name="Debug|Win32" | 18 | Name="Debug|Win32" |
19 | OutputDirectory=".\Debug" | 19 | OutputDirectory=".\Debug" |
20 | IntermediateDirectory=".\Debug" | 20 | IntermediateDirectory=".\Debug" |
21 | ConfigurationType="1" | 21 | ConfigurationType="1" |
22 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 22 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
23 | UseOfMFC="0" | 23 | UseOfMFC="0" |
24 | ATLMinimizesCRunTimeLibraryUsage="false" | 24 | ATLMinimizesCRunTimeLibraryUsage="false" |
25 | CharacterSet="2" | 25 | CharacterSet="2" |
26 | > | 26 | > |
27 | <Tool | 27 | <Tool |
28 | Name="VCPreBuildEventTool" | 28 | Name="VCPreBuildEventTool" |
29 | /> | 29 | /> |
30 | <Tool | 30 | <Tool |
31 | Name="VCCustomBuildTool" | 31 | Name="VCCustomBuildTool" |
32 | /> | 32 | /> |
33 | <Tool | 33 | <Tool |
34 | Name="VCXMLDataGeneratorTool" | 34 | Name="VCXMLDataGeneratorTool" |
35 | /> | 35 | /> |
36 | <Tool | 36 | <Tool |
37 | Name="VCWebServiceProxyGeneratorTool" | 37 | Name="VCWebServiceProxyGeneratorTool" |
38 | /> | 38 | /> |
39 | <Tool | 39 | <Tool |
40 | Name="VCMIDLTool" | 40 | Name="VCMIDLTool" |
41 | TypeLibraryName=".\Debug/PerPixelLighting.tlb" | 41 | TypeLibraryName=".\Debug/PerPixelLighting.tlb" |
42 | HeaderFileName="" | 42 | HeaderFileName="" |
43 | /> | 43 | /> |
44 | <Tool | 44 | <Tool |
45 | Name="VCCLCompilerTool" | 45 | Name="VCCLCompilerTool" |
46 | Optimization="0" | 46 | Optimization="0" |
47 | AdditionalIncludeDirectories="..\..\include" | 47 | AdditionalIncludeDirectories="..\..\include" |
48 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" | 48 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" |
49 | BasicRuntimeChecks="3" | 49 | BasicRuntimeChecks="3" |
50 | RuntimeLibrary="1" | 50 | RuntimeLibrary="1" |
51 | UsePrecompiledHeader="0" | 51 | UsePrecompiledHeader="0" |
52 | PrecompiledHeaderFile=".\Debug/PerPixelLighting.pch" | 52 | PrecompiledHeaderFile=".\Debug/PerPixelLighting.pch" |
53 | AssemblerListingLocation=".\Debug/" | 53 | AssemblerListingLocation=".\Debug/" |
54 | ObjectFile=".\Debug/" | 54 | ObjectFile=".\Debug/" |
55 | ProgramDataBaseFileName=".\Debug/" | 55 | ProgramDataBaseFileName=".\Debug/" |
56 | WarningLevel="3" | 56 | WarningLevel="3" |
57 | SuppressStartupBanner="true" | 57 | SuppressStartupBanner="true" |
58 | DebugInformationFormat="4" | 58 | DebugInformationFormat="4" |
59 | CompileAs="0" | 59 | CompileAs="0" |
60 | /> | 60 | /> |
61 | <Tool | 61 | <Tool |
62 | Name="VCManagedResourceCompilerTool" | 62 | Name="VCManagedResourceCompilerTool" |
63 | /> | 63 | /> |
64 | <Tool | 64 | <Tool |
65 | Name="VCResourceCompilerTool" | 65 | Name="VCResourceCompilerTool" |
66 | PreprocessorDefinitions="_DEBUG" | 66 | PreprocessorDefinitions="_DEBUG" |
67 | Culture="3079" | 67 | Culture="3079" |
68 | /> | 68 | /> |
69 | <Tool | 69 | <Tool |
70 | Name="VCPreLinkEventTool" | 70 | Name="VCPreLinkEventTool" |
71 | /> | 71 | /> |
72 | <Tool | 72 | <Tool |
73 | Name="VCLinkerTool" | 73 | Name="VCLinkerTool" |
74 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" | 74 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" |
75 | LinkIncremental="0" | 75 | LinkIncremental="0" |
76 | SuppressStartupBanner="true" | 76 | SuppressStartupBanner="true" |
77 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 77 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
78 | GenerateDebugInformation="true" | 78 | GenerateDebugInformation="true" |
79 | ProgramDatabaseFile=".\Debug/PerPixelLighting.pdb" | 79 | ProgramDatabaseFile=".\Debug/PerPixelLighting.pdb" |
80 | SubSystem="1" | 80 | SubSystem="1" |
81 | TargetMachine="1" | 81 | TargetMachine="1" |
82 | /> | 82 | /> |
83 | <Tool | 83 | <Tool |
84 | Name="VCALinkTool" | 84 | Name="VCALinkTool" |
85 | /> | 85 | /> |
86 | <Tool | 86 | <Tool |
87 | Name="VCManifestTool" | 87 | Name="VCManifestTool" |
88 | /> | 88 | /> |
89 | <Tool | 89 | <Tool |
90 | Name="VCXDCMakeTool" | 90 | Name="VCXDCMakeTool" |
91 | /> | 91 | /> |
92 | <Tool | 92 | <Tool |
93 | Name="VCBscMakeTool" | 93 | Name="VCBscMakeTool" |
94 | /> | 94 | /> |
95 | <Tool | 95 | <Tool |
96 | Name="VCFxCopTool" | 96 | Name="VCFxCopTool" |
97 | /> | 97 | /> |
98 | <Tool | 98 | <Tool |
99 | Name="VCAppVerifierTool" | 99 | Name="VCAppVerifierTool" |
100 | /> | 100 | /> |
101 | <Tool | 101 | <Tool |
102 | Name="VCWebDeploymentTool" | 102 | Name="VCWebDeploymentTool" |
103 | /> | 103 | /> |
104 | <Tool | 104 | <Tool |
105 | Name="VCPostBuildEventTool" | 105 | Name="VCPostBuildEventTool" |
106 | /> | 106 | /> |
107 | </Configuration> | 107 | </Configuration> |
108 | <Configuration | 108 | <Configuration |
109 | Name="Release|Win32" | 109 | Name="Release|Win32" |
110 | OutputDirectory=".\Release" | 110 | OutputDirectory=".\Release" |
111 | IntermediateDirectory=".\Release" | 111 | IntermediateDirectory=".\Release" |
112 | ConfigurationType="1" | 112 | ConfigurationType="1" |
113 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 113 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
114 | UseOfMFC="0" | 114 | UseOfMFC="0" |
115 | ATLMinimizesCRunTimeLibraryUsage="false" | 115 | ATLMinimizesCRunTimeLibraryUsage="false" |
116 | CharacterSet="2" | 116 | CharacterSet="2" |
117 | > | 117 | > |
118 | <Tool | 118 | <Tool |
119 | Name="VCPreBuildEventTool" | 119 | Name="VCPreBuildEventTool" |
120 | /> | 120 | /> |
121 | <Tool | 121 | <Tool |
122 | Name="VCCustomBuildTool" | 122 | Name="VCCustomBuildTool" |
123 | /> | 123 | /> |
124 | <Tool | 124 | <Tool |
125 | Name="VCXMLDataGeneratorTool" | 125 | Name="VCXMLDataGeneratorTool" |
126 | /> | 126 | /> |
127 | <Tool | 127 | <Tool |
128 | Name="VCWebServiceProxyGeneratorTool" | 128 | Name="VCWebServiceProxyGeneratorTool" |
129 | /> | 129 | /> |
130 | <Tool | 130 | <Tool |
131 | Name="VCMIDLTool" | 131 | Name="VCMIDLTool" |
132 | TypeLibraryName=".\Release/PerPixelLighting.tlb" | 132 | TypeLibraryName=".\Release/PerPixelLighting.tlb" |
133 | HeaderFileName="" | 133 | HeaderFileName="" |
134 | /> | 134 | /> |
135 | <Tool | 135 | <Tool |
136 | Name="VCCLCompilerTool" | 136 | Name="VCCLCompilerTool" |
137 | Optimization="2" | 137 | Optimization="2" |
138 | InlineFunctionExpansion="1" | 138 | InlineFunctionExpansion="1" |
139 | AdditionalIncludeDirectories="..\..\include" | 139 | AdditionalIncludeDirectories="..\..\include" |
140 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" | 140 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" |
141 | StringPooling="true" | 141 | StringPooling="true" |
142 | RuntimeLibrary="0" | 142 | RuntimeLibrary="0" |
143 | EnableFunctionLevelLinking="true" | 143 | EnableFunctionLevelLinking="true" |
144 | UsePrecompiledHeader="0" | 144 | UsePrecompiledHeader="0" |
145 | PrecompiledHeaderFile=".\Release/PerPixelLighting.pch" | 145 | PrecompiledHeaderFile=".\Release/PerPixelLighting.pch" |
146 | AssemblerListingLocation=".\Release/" | 146 | AssemblerListingLocation=".\Release/" |
147 | ObjectFile=".\Release/" | 147 | ObjectFile=".\Release/" |
148 | ProgramDataBaseFileName=".\Release/" | 148 | ProgramDataBaseFileName=".\Release/" |
149 | WarningLevel="3" | 149 | WarningLevel="3" |
150 | SuppressStartupBanner="true" | 150 | SuppressStartupBanner="true" |
151 | CompileAs="0" | 151 | CompileAs="0" |
152 | /> | 152 | /> |
153 | <Tool | 153 | <Tool |
154 | Name="VCManagedResourceCompilerTool" | 154 | Name="VCManagedResourceCompilerTool" |
155 | /> | 155 | /> |
156 | <Tool | 156 | <Tool |
157 | Name="VCResourceCompilerTool" | 157 | Name="VCResourceCompilerTool" |
158 | PreprocessorDefinitions="NDEBUG" | 158 | PreprocessorDefinitions="NDEBUG" |
159 | Culture="3079" | 159 | Culture="3079" |
160 | /> | 160 | /> |
161 | <Tool | 161 | <Tool |
162 | Name="VCPreLinkEventTool" | 162 | Name="VCPreLinkEventTool" |
163 | /> | 163 | /> |
164 | <Tool | 164 | <Tool |
165 | Name="VCLinkerTool" | 165 | Name="VCLinkerTool" |
166 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" | 166 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" |
167 | LinkIncremental="0" | 167 | LinkIncremental="0" |
168 | SuppressStartupBanner="true" | 168 | SuppressStartupBanner="true" |
169 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 169 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
170 | ProgramDatabaseFile=".\Release/PerPixelLighting.pdb" | 170 | ProgramDatabaseFile=".\Release/PerPixelLighting.pdb" |
171 | SubSystem="1" | 171 | SubSystem="1" |
172 | TargetMachine="1" | 172 | TargetMachine="1" |
173 | /> | 173 | /> |
174 | <Tool | 174 | <Tool |
175 | Name="VCALinkTool" | 175 | Name="VCALinkTool" |
176 | /> | 176 | /> |
177 | <Tool | 177 | <Tool |
178 | Name="VCManifestTool" | 178 | Name="VCManifestTool" |
179 | /> | 179 | /> |
180 | <Tool | 180 | <Tool |
181 | Name="VCXDCMakeTool" | 181 | Name="VCXDCMakeTool" |
182 | /> | 182 | /> |
183 | <Tool | 183 | <Tool |
184 | Name="VCBscMakeTool" | 184 | Name="VCBscMakeTool" |
185 | /> | 185 | /> |
186 | <Tool | 186 | <Tool |
187 | Name="VCFxCopTool" | 187 | Name="VCFxCopTool" |
188 | /> | 188 | /> |
189 | <Tool | 189 | <Tool |
190 | Name="VCAppVerifierTool" | 190 | Name="VCAppVerifierTool" |
191 | /> | 191 | /> |
192 | <Tool | 192 | <Tool |
193 | Name="VCWebDeploymentTool" | 193 | Name="VCWebDeploymentTool" |
194 | /> | 194 | /> |
195 | <Tool | 195 | <Tool |
196 | Name="VCPostBuildEventTool" | 196 | Name="VCPostBuildEventTool" |
197 | /> | 197 | /> |
198 | </Configuration> | 198 | </Configuration> |
199 | </Configurations> | 199 | </Configurations> |
200 | <References> | 200 | <References> |
201 | </References> | 201 | </References> |
202 | <Files> | 202 | <Files> |
203 | <File | 203 | <File |
204 | RelativePath="main.cpp" | 204 | RelativePath="main.cpp" |
205 | > | 205 | > |
206 | <FileConfiguration | 206 | <FileConfiguration |
207 | Name="Debug|Win32" | 207 | Name="Debug|Win32" |
208 | > | 208 | > |
209 | <Tool | 209 | <Tool |
210 | Name="VCCLCompilerTool" | 210 | Name="VCCLCompilerTool" |
211 | Optimization="0" | 211 | Optimization="0" |
212 | AdditionalIncludeDirectories="" | 212 | AdditionalIncludeDirectories="" |
213 | PreprocessorDefinitions="" | 213 | PreprocessorDefinitions="" |
214 | BasicRuntimeChecks="3" | 214 | BasicRuntimeChecks="3" |
215 | /> | 215 | /> |
216 | </FileConfiguration> | 216 | </FileConfiguration> |
217 | <FileConfiguration | 217 | <FileConfiguration |
218 | Name="Release|Win32" | 218 | Name="Release|Win32" |
219 | > | 219 | > |
220 | <Tool | 220 | <Tool |
221 | Name="VCCLCompilerTool" | 221 | Name="VCCLCompilerTool" |
222 | Optimization="2" | 222 | Optimization="2" |
223 | AdditionalIncludeDirectories="" | 223 | AdditionalIncludeDirectories="" |
224 | PreprocessorDefinitions="" | 224 | PreprocessorDefinitions="" |
225 | /> | 225 | /> |
226 | </FileConfiguration> | 226 | </FileConfiguration> |
227 | </File> | 227 | </File> |
228 | </Files> | 228 | </Files> |
229 | <Globals> | 229 | <Globals> |
230 | </Globals> | 230 | </Globals> |
231 | </VisualStudioProject> | 231 | </VisualStudioProject> |
diff --git a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc9.vcproj b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc9.vcproj index c9ed033..489d48e 100644 --- a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc9.vcproj +++ b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/PerPixelLighting_vc9.vcproj | |||
@@ -1,230 +1,230 @@ | |||
1 | <?xml version="1.0" encoding="Windows-1252"?> | 1 | <?xml version="1.0" encoding="Windows-1252"?> |
2 | <VisualStudioProject | 2 | <VisualStudioProject |
3 | ProjectType="Visual C++" | 3 | ProjectType="Visual C++" |
4 | Version="9.00" | 4 | Version="9.00" |
5 | Name="11.PerPixelLighting_vc9" | 5 | Name="11.PerPixelLighting_vc9" |
6 | ProjectGUID="{C4B42409-542D-4EFC-9E6B-44713FD47A33}" | 6 | ProjectGUID="{C4B42409-542D-4EFC-9E6B-44713FD47A33}" |
7 | RootNamespace="PerPixelLighting_vc9" | 7 | RootNamespace="PerPixelLighting_vc9" |
8 | TargetFrameworkVersion="131072" | 8 | TargetFrameworkVersion="131072" |
9 | > | 9 | > |
10 | <Platforms> | 10 | <Platforms> |
11 | <Platform | 11 | <Platform |
12 | Name="Win32" | 12 | Name="Win32" |
13 | /> | 13 | /> |
14 | </Platforms> | 14 | </Platforms> |
15 | <ToolFiles> | 15 | <ToolFiles> |
16 | </ToolFiles> | 16 | </ToolFiles> |
17 | <Configurations> | 17 | <Configurations> |
18 | <Configuration | 18 | <Configuration |
19 | Name="Debug|Win32" | 19 | Name="Debug|Win32" |
20 | OutputDirectory=".\Debug" | 20 | OutputDirectory=".\Debug" |
21 | IntermediateDirectory=".\Debug" | 21 | IntermediateDirectory=".\Debug" |
22 | ConfigurationType="1" | 22 | ConfigurationType="1" |
23 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 23 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
24 | UseOfMFC="0" | 24 | UseOfMFC="0" |
25 | ATLMinimizesCRunTimeLibraryUsage="false" | 25 | ATLMinimizesCRunTimeLibraryUsage="false" |
26 | CharacterSet="2" | 26 | CharacterSet="2" |
27 | > | 27 | > |
28 | <Tool | 28 | <Tool |
29 | Name="VCPreBuildEventTool" | 29 | Name="VCPreBuildEventTool" |
30 | /> | 30 | /> |
31 | <Tool | 31 | <Tool |
32 | Name="VCCustomBuildTool" | 32 | Name="VCCustomBuildTool" |
33 | /> | 33 | /> |
34 | <Tool | 34 | <Tool |
35 | Name="VCXMLDataGeneratorTool" | 35 | Name="VCXMLDataGeneratorTool" |
36 | /> | 36 | /> |
37 | <Tool | 37 | <Tool |
38 | Name="VCWebServiceProxyGeneratorTool" | 38 | Name="VCWebServiceProxyGeneratorTool" |
39 | /> | 39 | /> |
40 | <Tool | 40 | <Tool |
41 | Name="VCMIDLTool" | 41 | Name="VCMIDLTool" |
42 | TypeLibraryName=".\Debug/PerPixelLighting.tlb" | 42 | TypeLibraryName=".\Debug/PerPixelLighting.tlb" |
43 | HeaderFileName="" | 43 | HeaderFileName="" |
44 | /> | 44 | /> |
45 | <Tool | 45 | <Tool |
46 | Name="VCCLCompilerTool" | 46 | Name="VCCLCompilerTool" |
47 | Optimization="0" | 47 | Optimization="0" |
48 | AdditionalIncludeDirectories="..\..\include" | 48 | AdditionalIncludeDirectories="..\..\include" |
49 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" | 49 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" |
50 | BasicRuntimeChecks="3" | 50 | BasicRuntimeChecks="3" |
51 | RuntimeLibrary="1" | 51 | RuntimeLibrary="1" |
52 | UsePrecompiledHeader="0" | 52 | UsePrecompiledHeader="0" |
53 | PrecompiledHeaderFile=".\Debug/PerPixelLighting.pch" | 53 | PrecompiledHeaderFile=".\Debug/PerPixelLighting.pch" |
54 | AssemblerListingLocation=".\Debug/" | 54 | AssemblerListingLocation=".\Debug/" |
55 | ObjectFile=".\Debug/" | 55 | ObjectFile=".\Debug/" |
56 | ProgramDataBaseFileName=".\Debug/" | 56 | ProgramDataBaseFileName=".\Debug/" |
57 | WarningLevel="3" | 57 | WarningLevel="3" |
58 | SuppressStartupBanner="true" | 58 | SuppressStartupBanner="true" |
59 | DebugInformationFormat="4" | 59 | DebugInformationFormat="4" |
60 | CompileAs="0" | 60 | CompileAs="0" |
61 | /> | 61 | /> |
62 | <Tool | 62 | <Tool |
63 | Name="VCManagedResourceCompilerTool" | 63 | Name="VCManagedResourceCompilerTool" |
64 | /> | 64 | /> |
65 | <Tool | 65 | <Tool |
66 | Name="VCResourceCompilerTool" | 66 | Name="VCResourceCompilerTool" |
67 | PreprocessorDefinitions="_DEBUG" | 67 | PreprocessorDefinitions="_DEBUG" |
68 | Culture="3079" | 68 | Culture="3079" |
69 | /> | 69 | /> |
70 | <Tool | 70 | <Tool |
71 | Name="VCPreLinkEventTool" | 71 | Name="VCPreLinkEventTool" |
72 | /> | 72 | /> |
73 | <Tool | 73 | <Tool |
74 | Name="VCLinkerTool" | 74 | Name="VCLinkerTool" |
75 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" | 75 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" |
76 | LinkIncremental="0" | 76 | LinkIncremental="0" |
77 | SuppressStartupBanner="true" | 77 | SuppressStartupBanner="true" |
78 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 78 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
79 | GenerateDebugInformation="true" | 79 | GenerateDebugInformation="true" |
80 | ProgramDatabaseFile=".\Debug/PerPixelLighting.pdb" | 80 | ProgramDatabaseFile=".\Debug/PerPixelLighting.pdb" |
81 | SubSystem="1" | 81 | SubSystem="1" |
82 | RandomizedBaseAddress="1" | 82 | RandomizedBaseAddress="1" |
83 | DataExecutionPrevention="0" | 83 | DataExecutionPrevention="0" |
84 | TargetMachine="1" | 84 | TargetMachine="1" |
85 | /> | 85 | /> |
86 | <Tool | 86 | <Tool |
87 | Name="VCALinkTool" | 87 | Name="VCALinkTool" |
88 | /> | 88 | /> |
89 | <Tool | 89 | <Tool |
90 | Name="VCManifestTool" | 90 | Name="VCManifestTool" |
91 | /> | 91 | /> |
92 | <Tool | 92 | <Tool |
93 | Name="VCXDCMakeTool" | 93 | Name="VCXDCMakeTool" |
94 | /> | 94 | /> |
95 | <Tool | 95 | <Tool |
96 | Name="VCBscMakeTool" | 96 | Name="VCBscMakeTool" |
97 | /> | 97 | /> |
98 | <Tool | 98 | <Tool |
99 | Name="VCFxCopTool" | 99 | Name="VCFxCopTool" |
100 | /> | 100 | /> |
101 | <Tool | 101 | <Tool |
102 | Name="VCAppVerifierTool" | 102 | Name="VCAppVerifierTool" |
103 | /> | 103 | /> |
104 | <Tool | 104 | <Tool |
105 | Name="VCPostBuildEventTool" | 105 | Name="VCPostBuildEventTool" |
106 | /> | 106 | /> |
107 | </Configuration> | 107 | </Configuration> |
108 | <Configuration | 108 | <Configuration |
109 | Name="Release|Win32" | 109 | Name="Release|Win32" |
110 | OutputDirectory=".\Release" | 110 | OutputDirectory=".\Release" |
111 | IntermediateDirectory=".\Release" | 111 | IntermediateDirectory=".\Release" |
112 | ConfigurationType="1" | 112 | ConfigurationType="1" |
113 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 113 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
114 | UseOfMFC="0" | 114 | UseOfMFC="0" |
115 | ATLMinimizesCRunTimeLibraryUsage="false" | 115 | ATLMinimizesCRunTimeLibraryUsage="false" |
116 | CharacterSet="2" | 116 | CharacterSet="2" |
117 | > | 117 | > |
118 | <Tool | 118 | <Tool |
119 | Name="VCPreBuildEventTool" | 119 | Name="VCPreBuildEventTool" |
120 | /> | 120 | /> |
121 | <Tool | 121 | <Tool |
122 | Name="VCCustomBuildTool" | 122 | Name="VCCustomBuildTool" |
123 | /> | 123 | /> |
124 | <Tool | 124 | <Tool |
125 | Name="VCXMLDataGeneratorTool" | 125 | Name="VCXMLDataGeneratorTool" |
126 | /> | 126 | /> |
127 | <Tool | 127 | <Tool |
128 | Name="VCWebServiceProxyGeneratorTool" | 128 | Name="VCWebServiceProxyGeneratorTool" |
129 | /> | 129 | /> |
130 | <Tool | 130 | <Tool |
131 | Name="VCMIDLTool" | 131 | Name="VCMIDLTool" |
132 | TypeLibraryName=".\Release/PerPixelLighting.tlb" | 132 | TypeLibraryName=".\Release/PerPixelLighting.tlb" |
133 | HeaderFileName="" | 133 | HeaderFileName="" |
134 | /> | 134 | /> |
135 | <Tool | 135 | <Tool |
136 | Name="VCCLCompilerTool" | 136 | Name="VCCLCompilerTool" |
137 | Optimization="2" | 137 | Optimization="2" |
138 | InlineFunctionExpansion="1" | 138 | InlineFunctionExpansion="1" |
139 | AdditionalIncludeDirectories="..\..\include" | 139 | AdditionalIncludeDirectories="..\..\include" |
140 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" | 140 | PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" |
141 | StringPooling="true" | 141 | StringPooling="true" |
142 | RuntimeLibrary="0" | 142 | RuntimeLibrary="0" |
143 | EnableFunctionLevelLinking="true" | 143 | EnableFunctionLevelLinking="true" |
144 | UsePrecompiledHeader="0" | 144 | UsePrecompiledHeader="0" |
145 | PrecompiledHeaderFile=".\Release/PerPixelLighting.pch" | 145 | PrecompiledHeaderFile=".\Release/PerPixelLighting.pch" |
146 | AssemblerListingLocation=".\Release/" | 146 | AssemblerListingLocation=".\Release/" |
147 | ObjectFile=".\Release/" | 147 | ObjectFile=".\Release/" |
148 | ProgramDataBaseFileName=".\Release/" | 148 | ProgramDataBaseFileName=".\Release/" |
149 | WarningLevel="3" | 149 | WarningLevel="3" |
150 | SuppressStartupBanner="true" | 150 | SuppressStartupBanner="true" |
151 | CompileAs="0" | 151 | CompileAs="0" |
152 | /> | 152 | /> |
153 | <Tool | 153 | <Tool |
154 | Name="VCManagedResourceCompilerTool" | 154 | Name="VCManagedResourceCompilerTool" |
155 | /> | 155 | /> |
156 | <Tool | 156 | <Tool |
157 | Name="VCResourceCompilerTool" | 157 | Name="VCResourceCompilerTool" |
158 | PreprocessorDefinitions="NDEBUG" | 158 | PreprocessorDefinitions="NDEBUG" |
159 | Culture="3079" | 159 | Culture="3079" |
160 | /> | 160 | /> |
161 | <Tool | 161 | <Tool |
162 | Name="VCPreLinkEventTool" | 162 | Name="VCPreLinkEventTool" |
163 | /> | 163 | /> |
164 | <Tool | 164 | <Tool |
165 | Name="VCLinkerTool" | 165 | Name="VCLinkerTool" |
166 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" | 166 | OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe" |
167 | LinkIncremental="0" | 167 | LinkIncremental="0" |
168 | SuppressStartupBanner="true" | 168 | SuppressStartupBanner="true" |
169 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" | 169 | AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio" |
170 | ProgramDatabaseFile=".\Release/PerPixelLighting.pdb" | 170 | ProgramDatabaseFile=".\Release/PerPixelLighting.pdb" |
171 | SubSystem="1" | 171 | SubSystem="1" |
172 | RandomizedBaseAddress="1" | 172 | RandomizedBaseAddress="1" |
173 | DataExecutionPrevention="0" | 173 | DataExecutionPrevention="0" |
174 | TargetMachine="1" | 174 | TargetMachine="1" |
175 | /> | 175 | /> |
176 | <Tool | 176 | <Tool |
177 | Name="VCALinkTool" | 177 | Name="VCALinkTool" |
178 | /> | 178 | /> |
179 | <Tool | 179 | <Tool |
180 | Name="VCManifestTool" | 180 | Name="VCManifestTool" |
181 | /> | 181 | /> |
182 | <Tool | 182 | <Tool |
183 | Name="VCXDCMakeTool" | 183 | Name="VCXDCMakeTool" |
184 | /> | 184 | /> |
185 | <Tool | 185 | <Tool |
186 | Name="VCBscMakeTool" | 186 | Name="VCBscMakeTool" |
187 | /> | 187 | /> |
188 | <Tool | 188 | <Tool |
189 | Name="VCFxCopTool" | 189 | Name="VCFxCopTool" |
190 | /> | 190 | /> |
191 | <Tool | 191 | <Tool |
192 | Name="VCAppVerifierTool" | 192 | Name="VCAppVerifierTool" |
193 | /> | 193 | /> |
194 | <Tool | 194 | <Tool |
195 | Name="VCPostBuildEventTool" | 195 | Name="VCPostBuildEventTool" |
196 | /> | 196 | /> |
197 | </Configuration> | 197 | </Configuration> |
198 | </Configurations> | 198 | </Configurations> |
199 | <References> | 199 | <References> |
200 | </References> | 200 | </References> |
201 | <Files> | 201 | <Files> |
202 | <File | 202 | <File |
203 | RelativePath="main.cpp" | 203 | RelativePath="main.cpp" |
204 | > | 204 | > |
205 | <FileConfiguration | 205 | <FileConfiguration |
206 | Name="Debug|Win32" | 206 | Name="Debug|Win32" |
207 | > | 207 | > |
208 | <Tool | 208 | <Tool |
209 | Name="VCCLCompilerTool" | 209 | Name="VCCLCompilerTool" |
210 | Optimization="0" | 210 | Optimization="0" |
211 | AdditionalIncludeDirectories="" | 211 | AdditionalIncludeDirectories="" |
212 | PreprocessorDefinitions="" | 212 | PreprocessorDefinitions="" |
213 | BasicRuntimeChecks="3" | 213 | BasicRuntimeChecks="3" |
214 | /> | 214 | /> |
215 | </FileConfiguration> | 215 | </FileConfiguration> |
216 | <FileConfiguration | 216 | <FileConfiguration |
217 | Name="Release|Win32" | 217 | Name="Release|Win32" |
218 | > | 218 | > |
219 | <Tool | 219 | <Tool |
220 | Name="VCCLCompilerTool" | 220 | Name="VCCLCompilerTool" |
221 | Optimization="2" | 221 | Optimization="2" |
222 | AdditionalIncludeDirectories="" | 222 | AdditionalIncludeDirectories="" |
223 | PreprocessorDefinitions="" | 223 | PreprocessorDefinitions="" |
224 | /> | 224 | /> |
225 | </FileConfiguration> | 225 | </FileConfiguration> |
226 | </File> | 226 | </File> |
227 | </Files> | 227 | </Files> |
228 | <Globals> | 228 | <Globals> |
229 | </Globals> | 229 | </Globals> |
230 | </VisualStudioProject> | 230 | </VisualStudioProject> |
diff --git a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/main.cpp b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/main.cpp index 227aa97..a6e95ba 100644 --- a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/main.cpp +++ b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/main.cpp | |||
@@ -1,487 +1,487 @@ | |||
1 | /** Example 011 Per-Pixel Lighting | 1 | /** Example 011 Per-Pixel Lighting |
2 | 2 | ||
3 | This tutorial shows how to use one of the built in more complex materials in | 3 | This tutorial shows how to use one of the built in more complex materials in |
4 | irrlicht: Per pixel lighted surfaces using normal maps and parallax mapping. It | 4 | irrlicht: Per pixel lighted surfaces using normal maps and parallax mapping. It |
5 | will also show how to use fog and moving particle systems. And don't panic: You | 5 | will also show how to use fog and moving particle systems. And don't panic: You |
6 | do not need any experience with shaders to use these materials in Irrlicht. | 6 | do not need any experience with shaders to use these materials in Irrlicht. |
7 | 7 | ||
8 | At first, we need to include all headers and do the stuff we always do, like in | 8 | At first, we need to include all headers and do the stuff we always do, like in |
9 | nearly all other tutorials. | 9 | nearly all other tutorials. |
10 | */ | 10 | */ |
11 | #include <irrlicht.h> | 11 | #include <irrlicht.h> |
12 | #include "driverChoice.h" | 12 | #include "driverChoice.h" |
13 | 13 | ||
14 | using namespace irr; | 14 | using namespace irr; |
15 | 15 | ||
16 | #ifdef _MSC_VER | 16 | #ifdef _MSC_VER |
17 | #pragma comment(lib, "Irrlicht.lib") | 17 | #pragma comment(lib, "Irrlicht.lib") |
18 | #endif | 18 | #endif |
19 | 19 | ||
20 | /* | 20 | /* |
21 | For this example, we need an event receiver, to make it possible for the user | 21 | For this example, we need an event receiver, to make it possible for the user |
22 | to switch between the three available material types. In addition, the event | 22 | to switch between the three available material types. In addition, the event |
23 | receiver will create some small GUI window which displays what material is | 23 | receiver will create some small GUI window which displays what material is |
24 | currently being used. There is nothing special done in this class, so maybe you | 24 | currently being used. There is nothing special done in this class, so maybe you |
25 | want to skip reading it. | 25 | want to skip reading it. |
26 | */ | 26 | */ |
27 | class MyEventReceiver : public IEventReceiver | 27 | class MyEventReceiver : public IEventReceiver |
28 | { | 28 | { |
29 | public: | 29 | public: |
30 | 30 | ||
31 | MyEventReceiver(scene::ISceneNode* room,scene::ISceneNode* earth, | 31 | MyEventReceiver(scene::ISceneNode* room,scene::ISceneNode* earth, |
32 | gui::IGUIEnvironment* env, video::IVideoDriver* driver) | 32 | gui::IGUIEnvironment* env, video::IVideoDriver* driver) |
33 | { | 33 | { |
34 | // store pointer to room so we can change its drawing mode | 34 | // store pointer to room so we can change its drawing mode |
35 | Room = room; | 35 | Room = room; |
36 | Earth = earth; | 36 | Earth = earth; |
37 | Driver = driver; | 37 | Driver = driver; |
38 | 38 | ||
39 | // set a nicer font | 39 | // set a nicer font |
40 | gui::IGUISkin* skin = env->getSkin(); | 40 | gui::IGUISkin* skin = env->getSkin(); |
41 | gui::IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp"); | 41 | gui::IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp"); |
42 | if (font) | 42 | if (font) |
43 | skin->setFont(font); | 43 | skin->setFont(font); |
44 | 44 | ||
45 | // add window and listbox | 45 | // add window and listbox |
46 | gui::IGUIWindow* window = env->addWindow( | 46 | gui::IGUIWindow* window = env->addWindow( |
47 | core::rect<s32>(460,375,630,470), false, L"Use 'E' + 'R' to change"); | 47 | core::rect<s32>(460,375,630,470), false, L"Use 'E' + 'R' to change"); |
48 | 48 | ||
49 | ListBox = env->addListBox( | 49 | ListBox = env->addListBox( |
50 | core::rect<s32>(2,22,165,88), window); | 50 | core::rect<s32>(2,22,165,88), window); |
51 | 51 | ||
52 | ListBox->addItem(L"Diffuse"); | 52 | ListBox->addItem(L"Diffuse"); |
53 | ListBox->addItem(L"Bump mapping"); | 53 | ListBox->addItem(L"Bump mapping"); |
54 | ListBox->addItem(L"Parallax mapping"); | 54 | ListBox->addItem(L"Parallax mapping"); |
55 | ListBox->setSelected(1); | 55 | ListBox->setSelected(1); |
56 | 56 | ||
57 | // create problem text | 57 | // create problem text |
58 | ProblemText = env->addStaticText( | 58 | ProblemText = env->addStaticText( |
59 | L"Your hardware or this renderer is not able to use the "\ | 59 | L"Your hardware or this renderer is not able to use the "\ |
60 | L"needed shaders for this material. Using fall back materials.", | 60 | L"needed shaders for this material. Using fall back materials.", |
61 | core::rect<s32>(150,20,470,80)); | 61 | core::rect<s32>(150,20,470,80)); |
62 | 62 | ||
63 | ProblemText->setOverrideColor(video::SColor(100,255,255,255)); | 63 | ProblemText->setOverrideColor(video::SColor(100,255,255,255)); |
64 | 64 | ||
65 | // set start material (prefer parallax mapping if available) | 65 | // set start material (prefer parallax mapping if available) |
66 | video::IMaterialRenderer* renderer = | 66 | video::IMaterialRenderer* renderer = |
67 | Driver->getMaterialRenderer(video::EMT_PARALLAX_MAP_SOLID); | 67 | Driver->getMaterialRenderer(video::EMT_PARALLAX_MAP_SOLID); |
68 | if (renderer && renderer->getRenderCapability() == 0) | 68 | if (renderer && renderer->getRenderCapability() == 0) |
69 | ListBox->setSelected(2); | 69 | ListBox->setSelected(2); |
70 | 70 | ||
71 | // set the material which is selected in the listbox | 71 | // set the material which is selected in the listbox |
72 | setMaterial(); | 72 | setMaterial(); |
73 | } | 73 | } |
74 | 74 | ||
75 | bool OnEvent(const SEvent& event) | 75 | bool OnEvent(const SEvent& event) |
76 | { | 76 | { |
77 | // check if user presses the key 'E' or 'R' | 77 | // check if user presses the key 'E' or 'R' |
78 | if (event.EventType == irr::EET_KEY_INPUT_EVENT && | 78 | if (event.EventType == irr::EET_KEY_INPUT_EVENT && |
79 | !event.KeyInput.PressedDown && Room && ListBox) | 79 | !event.KeyInput.PressedDown && Room && ListBox) |
80 | { | 80 | { |
81 | // change selected item in listbox | 81 | // change selected item in listbox |
82 | 82 | ||
83 | int sel = ListBox->getSelected(); | 83 | int sel = ListBox->getSelected(); |
84 | if (event.KeyInput.Key == irr::KEY_KEY_R) | 84 | if (event.KeyInput.Key == irr::KEY_KEY_R) |
85 | ++sel; | 85 | ++sel; |
86 | else | 86 | else |
87 | if (event.KeyInput.Key == irr::KEY_KEY_E) | 87 | if (event.KeyInput.Key == irr::KEY_KEY_E) |
88 | --sel; | 88 | --sel; |
89 | else | 89 | else |
90 | return false; | 90 | return false; |
91 | 91 | ||
92 | if (sel > 2) sel = 0; | 92 | if (sel > 2) sel = 0; |
93 | if (sel < 0) sel = 2; | 93 | if (sel < 0) sel = 2; |
94 | ListBox->setSelected(sel); | 94 | ListBox->setSelected(sel); |
95 | 95 | ||
96 | // set the material which is selected in the listbox | 96 | // set the material which is selected in the listbox |
97 | setMaterial(); | 97 | setMaterial(); |
98 | } | 98 | } |
99 | 99 | ||
100 | return false; | 100 | return false; |
101 | } | 101 | } |
102 | 102 | ||
103 | private: | 103 | private: |
104 | 104 | ||
105 | // sets the material of the room mesh the the one set in the | 105 | // sets the material of the room mesh the the one set in the |
106 | // list box. | 106 | // list box. |
107 | void setMaterial() | 107 | void setMaterial() |
108 | { | 108 | { |
109 | video::E_MATERIAL_TYPE type = video::EMT_SOLID; | 109 | video::E_MATERIAL_TYPE type = video::EMT_SOLID; |
110 | 110 | ||
111 | // change material setting | 111 | // change material setting |
112 | switch(ListBox->getSelected()) | 112 | switch(ListBox->getSelected()) |
113 | { | 113 | { |
114 | case 0: type = video::EMT_SOLID; | 114 | case 0: type = video::EMT_SOLID; |
115 | break; | 115 | break; |
116 | case 1: type = video::EMT_NORMAL_MAP_SOLID; | 116 | case 1: type = video::EMT_NORMAL_MAP_SOLID; |
117 | break; | 117 | break; |
118 | case 2: type = video::EMT_PARALLAX_MAP_SOLID; | 118 | case 2: type = video::EMT_PARALLAX_MAP_SOLID; |
119 | break; | 119 | break; |
120 | } | 120 | } |
121 | 121 | ||
122 | Room->setMaterialType(type); | 122 | Room->setMaterialType(type); |
123 | 123 | ||
124 | // change material setting | 124 | // change material setting |
125 | switch(ListBox->getSelected()) | 125 | switch(ListBox->getSelected()) |
126 | { | 126 | { |
127 | case 0: type = video::EMT_TRANSPARENT_VERTEX_ALPHA; | 127 | case 0: type = video::EMT_TRANSPARENT_VERTEX_ALPHA; |
128 | break; | 128 | break; |
129 | case 1: type = video::EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA; | 129 | case 1: type = video::EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA; |
130 | break; | 130 | break; |
131 | case 2: type = video::EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA; | 131 | case 2: type = video::EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA; |
132 | break; | 132 | break; |
133 | } | 133 | } |
134 | 134 | ||
135 | Earth->setMaterialType(type); | 135 | Earth->setMaterialType(type); |
136 | 136 | ||
137 | /* | 137 | /* |
138 | We need to add a warning if the materials will not be able to | 138 | We need to add a warning if the materials will not be able to |
139 | be displayed 100% correctly. This is no problem, they will be | 139 | be displayed 100% correctly. This is no problem, they will be |
140 | rendered using fall back materials, but at least the user | 140 | rendered using fall back materials, but at least the user |
141 | should know that it would look better on better hardware. We | 141 | should know that it would look better on better hardware. We |
142 | simply check if the material renderer is able to draw at full | 142 | simply check if the material renderer is able to draw at full |
143 | quality on the current hardware. The | 143 | quality on the current hardware. The |
144 | IMaterialRenderer::getRenderCapability() returns 0 if this is | 144 | IMaterialRenderer::getRenderCapability() returns 0 if this is |
145 | the case. | 145 | the case. |
146 | */ | 146 | */ |
147 | video::IMaterialRenderer* renderer = Driver->getMaterialRenderer(type); | 147 | video::IMaterialRenderer* renderer = Driver->getMaterialRenderer(type); |
148 | 148 | ||
149 | // display some problem text when problem | 149 | // display some problem text when problem |
150 | if (!renderer || renderer->getRenderCapability() != 0) | 150 | if (!renderer || renderer->getRenderCapability() != 0) |
151 | ProblemText->setVisible(true); | 151 | ProblemText->setVisible(true); |
152 | else | 152 | else |
153 | ProblemText->setVisible(false); | 153 | ProblemText->setVisible(false); |
154 | } | 154 | } |
155 | 155 | ||
156 | private: | 156 | private: |
157 | 157 | ||
158 | gui::IGUIStaticText* ProblemText; | 158 | gui::IGUIStaticText* ProblemText; |
159 | gui::IGUIListBox* ListBox; | 159 | gui::IGUIListBox* ListBox; |
160 | 160 | ||
161 | scene::ISceneNode* Room; | 161 | scene::ISceneNode* Room; |
162 | scene::ISceneNode* Earth; | 162 | scene::ISceneNode* Earth; |
163 | video::IVideoDriver* Driver; | 163 | video::IVideoDriver* Driver; |
164 | }; | 164 | }; |
165 | 165 | ||
166 | 166 | ||
167 | /* | 167 | /* |
168 | Now for the real fun. We create an Irrlicht Device and start to setup the scene. | 168 | Now for the real fun. We create an Irrlicht Device and start to setup the scene. |
169 | */ | 169 | */ |
170 | int main() | 170 | int main() |
171 | { | 171 | { |
172 | // ask user for driver | 172 | // ask user for driver |
173 | video::E_DRIVER_TYPE driverType=driverChoiceConsole(); | 173 | video::E_DRIVER_TYPE driverType=driverChoiceConsole(); |
174 | if (driverType==video::EDT_COUNT) | 174 | if (driverType==video::EDT_COUNT) |
175 | return 1; | 175 | return 1; |
176 | 176 | ||
177 | // create device | 177 | // create device |
178 | 178 | ||
179 | IrrlichtDevice* device = createDevice(driverType, | 179 | IrrlichtDevice* device = createDevice(driverType, |
180 | core::dimension2d<u32>(640, 480)); | 180 | core::dimension2d<u32>(640, 480)); |
181 | 181 | ||
182 | if (device == 0) | 182 | if (device == 0) |
183 | return 1; // could not create selected driver. | 183 | return 1; // could not create selected driver. |
184 | 184 | ||
185 | /* | 185 | /* |
186 | Before we start with the interesting stuff, we do some simple things: | 186 | Before we start with the interesting stuff, we do some simple things: |
187 | Store pointers to the most important parts of the engine (video driver, | 187 | Store pointers to the most important parts of the engine (video driver, |
188 | scene manager, gui environment) to safe us from typing too much, add an | 188 | scene manager, gui environment) to safe us from typing too much, add an |
189 | irrlicht engine logo to the window and a user controlled first person | 189 | irrlicht engine logo to the window and a user controlled first person |
190 | shooter style camera. Also, we let the engine know that it should store | 190 | shooter style camera. Also, we let the engine know that it should store |
191 | all textures in 32 bit. This necessary because for parallax mapping, we | 191 | all textures in 32 bit. This necessary because for parallax mapping, we |
192 | need 32 bit textures. | 192 | need 32 bit textures. |
193 | */ | 193 | */ |
194 | 194 | ||
195 | video::IVideoDriver* driver = device->getVideoDriver(); | 195 | video::IVideoDriver* driver = device->getVideoDriver(); |
196 | scene::ISceneManager* smgr = device->getSceneManager(); | 196 | scene::ISceneManager* smgr = device->getSceneManager(); |
197 | gui::IGUIEnvironment* env = device->getGUIEnvironment(); | 197 | gui::IGUIEnvironment* env = device->getGUIEnvironment(); |
198 | 198 | ||
199 | driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true); | 199 | driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true); |
200 | 200 | ||
201 | // add irrlicht logo | 201 | // add irrlicht logo |
202 | env->addImage(driver->getTexture("../../media/irrlichtlogo3.png"), | 202 | env->addImage(driver->getTexture("../../media/irrlichtlogo3.png"), |
203 | core::position2d<s32>(10,10)); | 203 | core::position2d<s32>(10,10)); |
204 | 204 | ||
205 | // add camera | 205 | // add camera |
206 | scene::ICameraSceneNode* camera = smgr->addCameraSceneNodeFPS(); | 206 | scene::ICameraSceneNode* camera = smgr->addCameraSceneNodeFPS(); |
207 | camera->setPosition(core::vector3df(-200,200,-200)); | 207 | camera->setPosition(core::vector3df(-200,200,-200)); |
208 | 208 | ||
209 | // disable mouse cursor | 209 | // disable mouse cursor |
210 | device->getCursorControl()->setVisible(false); | 210 | device->getCursorControl()->setVisible(false); |
211 | 211 | ||
212 | /* | 212 | /* |
213 | Because we want the whole scene to look a little bit scarier, we add | 213 | Because we want the whole scene to look a little bit scarier, we add |
214 | some fog to it. This is done by a call to IVideoDriver::setFog(). There | 214 | some fog to it. This is done by a call to IVideoDriver::setFog(). There |
215 | you can set various fog settings. In this example, we use pixel fog, | 215 | you can set various fog settings. In this example, we use pixel fog, |
216 | because it will work well with the materials we'll use in this example. | 216 | because it will work well with the materials we'll use in this example. |
217 | Please note that you will have to set the material flag EMF_FOG_ENABLE | 217 | Please note that you will have to set the material flag EMF_FOG_ENABLE |
218 | to 'true' in every scene node which should be affected by this fog. | 218 | to 'true' in every scene node which should be affected by this fog. |
219 | */ | 219 | */ |
220 | driver->setFog(video::SColor(0,138,125,81), video::EFT_FOG_LINEAR, 250, 1000, .003f, true, false); | 220 | driver->setFog(video::SColor(0,138,125,81), video::EFT_FOG_LINEAR, 250, 1000, .003f, true, false); |
221 | 221 | ||
222 | /* | 222 | /* |
223 | To be able to display something interesting, we load a mesh from a .3ds | 223 | To be able to display something interesting, we load a mesh from a .3ds |
224 | file which is a room I modeled with anim8or. It is the same room as | 224 | file which is a room I modeled with anim8or. It is the same room as |
225 | from the specialFX example. Maybe you remember from that tutorial, I am | 225 | from the specialFX example. Maybe you remember from that tutorial, I am |
226 | no good modeler at all and so I totally messed up the texture mapping | 226 | no good modeler at all and so I totally messed up the texture mapping |
227 | in this model, but we can simply repair it with the | 227 | in this model, but we can simply repair it with the |
228 | IMeshManipulator::makePlanarTextureMapping() method. | 228 | IMeshManipulator::makePlanarTextureMapping() method. |
229 | */ | 229 | */ |
230 | 230 | ||
231 | scene::IAnimatedMesh* roomMesh = smgr->getMesh("../../media/room.3ds"); | 231 | scene::IAnimatedMesh* roomMesh = smgr->getMesh("../../media/room.3ds"); |
232 | scene::ISceneNode* room = 0; | 232 | scene::ISceneNode* room = 0; |
233 | scene::ISceneNode* earth = 0; | 233 | scene::ISceneNode* earth = 0; |
234 | 234 | ||
235 | if (roomMesh) | 235 | if (roomMesh) |
236 | { | 236 | { |
237 | // The Room mesh doesn't have proper Texture Mapping on the | 237 | // The Room mesh doesn't have proper Texture Mapping on the |
238 | // floor, so we can recreate them on runtime | 238 | // floor, so we can recreate them on runtime |
239 | smgr->getMeshManipulator()->makePlanarTextureMapping( | 239 | smgr->getMeshManipulator()->makePlanarTextureMapping( |
240 | roomMesh->getMesh(0), 0.003f); | 240 | roomMesh->getMesh(0), 0.003f); |
241 | 241 | ||
242 | /* | 242 | /* |
243 | Now for the first exciting thing: If we successfully loaded the | 243 | Now for the first exciting thing: If we successfully loaded the |
244 | mesh we need to apply textures to it. Because we want this room | 244 | mesh we need to apply textures to it. Because we want this room |
245 | to be displayed with a very cool material, we have to do a | 245 | to be displayed with a very cool material, we have to do a |
246 | little bit more than just set the textures. Instead of only | 246 | little bit more than just set the textures. Instead of only |
247 | loading a color map as usual, we also load a height map which | 247 | loading a color map as usual, we also load a height map which |
248 | is simply a grayscale texture. From this height map, we create | 248 | is simply a grayscale texture. From this height map, we create |
249 | a normal map which we will set as second texture of the room. | 249 | a normal map which we will set as second texture of the room. |
250 | If you already have a normal map, you could directly set it, | 250 | If you already have a normal map, you could directly set it, |
251 | but I simply didn't find a nice normal map for this texture. | 251 | but I simply didn't find a nice normal map for this texture. |
252 | The normal map texture is being generated by the | 252 | The normal map texture is being generated by the |
253 | makeNormalMapTexture method of the VideoDriver. The second | 253 | makeNormalMapTexture method of the VideoDriver. The second |
254 | parameter specifies the height of the heightmap. If you set it | 254 | parameter specifies the height of the heightmap. If you set it |
255 | to a bigger value, the map will look more rocky. | 255 | to a bigger value, the map will look more rocky. |
256 | */ | 256 | */ |
257 | 257 | ||
258 | video::ITexture* normalMap = | 258 | video::ITexture* normalMap = |
259 | driver->getTexture("../../media/rockwall_height.bmp"); | 259 | driver->getTexture("../../media/rockwall_height.bmp"); |
260 | 260 | ||
261 | if (normalMap) | 261 | if (normalMap) |
262 | driver->makeNormalMapTexture(normalMap, 9.0f); | 262 | driver->makeNormalMapTexture(normalMap, 9.0f); |
263 | /* | 263 | /* |
264 | // The Normal Map and the displacement map/height map in the alpha channel | 264 | // The Normal Map and the displacement map/height map in the alpha channel |
265 | video::ITexture* normalMap = | 265 | video::ITexture* normalMap = |
266 | driver->getTexture("../../media/rockwall_NRM.tga"); | 266 | driver->getTexture("../../media/rockwall_NRM.tga"); |
267 | */ | 267 | */ |
268 | /* | 268 | /* |
269 | But just setting color and normal map is not everything. The | 269 | But just setting color and normal map is not everything. The |
270 | material we want to use needs some additional informations per | 270 | material we want to use needs some additional informations per |
271 | vertex like tangents and binormals. Because we are too lazy to | 271 | vertex like tangents and binormals. Because we are too lazy to |
272 | calculate that information now, we let Irrlicht do this for us. | 272 | calculate that information now, we let Irrlicht do this for us. |
273 | That's why we call IMeshManipulator::createMeshWithTangents(). | 273 | That's why we call IMeshManipulator::createMeshWithTangents(). |
274 | It creates a mesh copy with tangents and binormals from another | 274 | It creates a mesh copy with tangents and binormals from another |
275 | mesh. After we've done that, we simply create a standard | 275 | mesh. After we've done that, we simply create a standard |
276 | mesh scene node with this mesh copy, set color and normal map | 276 | mesh scene node with this mesh copy, set color and normal map |
277 | and adjust some other material settings. Note that we set | 277 | and adjust some other material settings. Note that we set |
278 | EMF_FOG_ENABLE to true to enable fog in the room. | 278 | EMF_FOG_ENABLE to true to enable fog in the room. |
279 | */ | 279 | */ |
280 | 280 | ||
281 | scene::IMesh* tangentMesh = smgr->getMeshManipulator()-> | 281 | scene::IMesh* tangentMesh = smgr->getMeshManipulator()-> |
282 | createMeshWithTangents(roomMesh->getMesh(0)); | 282 | createMeshWithTangents(roomMesh->getMesh(0)); |
283 | 283 | ||
284 | room = smgr->addMeshSceneNode(tangentMesh); | 284 | room = smgr->addMeshSceneNode(tangentMesh); |
285 | room->setMaterialTexture(0, | 285 | room->setMaterialTexture(0, |
286 | driver->getTexture("../../media/rockwall.jpg")); | 286 | driver->getTexture("../../media/rockwall.jpg")); |
287 | room->setMaterialTexture(1, normalMap); | 287 | room->setMaterialTexture(1, normalMap); |
288 | 288 | ||
289 | // Stones don't glitter.. | 289 | // Stones don't glitter.. |
290 | room->getMaterial(0).SpecularColor.set(0,0,0,0); | 290 | room->getMaterial(0).SpecularColor.set(0,0,0,0); |
291 | room->getMaterial(0).Shininess = 0.f; | 291 | room->getMaterial(0).Shininess = 0.f; |
292 | 292 | ||
293 | room->setMaterialFlag(video::EMF_FOG_ENABLE, true); | 293 | room->setMaterialFlag(video::EMF_FOG_ENABLE, true); |
294 | room->setMaterialType(video::EMT_PARALLAX_MAP_SOLID); | 294 | room->setMaterialType(video::EMT_PARALLAX_MAP_SOLID); |
295 | // adjust height for parallax effect | 295 | // adjust height for parallax effect |
296 | room->getMaterial(0).MaterialTypeParam = 1.f / 64.f; | 296 | room->getMaterial(0).MaterialTypeParam = 1.f / 64.f; |
297 | 297 | ||
298 | // drop mesh because we created it with a create.. call. | 298 | // drop mesh because we created it with a create.. call. |
299 | tangentMesh->drop(); | 299 | tangentMesh->drop(); |
300 | } | 300 | } |
301 | 301 | ||
302 | /* | 302 | /* |
303 | After we've created a room shaded by per pixel lighting, we add a | 303 | After we've created a room shaded by per pixel lighting, we add a |
304 | sphere into it with the same material, but we'll make it transparent. | 304 | sphere into it with the same material, but we'll make it transparent. |
305 | In addition, because the sphere looks somehow like a familiar planet, | 305 | In addition, because the sphere looks somehow like a familiar planet, |
306 | we make it rotate. The procedure is similar as before. The difference | 306 | we make it rotate. The procedure is similar as before. The difference |
307 | is that we are loading the mesh from an .x file which already contains | 307 | is that we are loading the mesh from an .x file which already contains |
308 | a color map so we do not need to load it manually. But the sphere is a | 308 | a color map so we do not need to load it manually. But the sphere is a |
309 | little bit too small for our needs, so we scale it by the factor 50. | 309 | little bit too small for our needs, so we scale it by the factor 50. |
310 | */ | 310 | */ |
311 | 311 | ||
312 | // add earth sphere | 312 | // add earth sphere |
313 | 313 | ||
314 | scene::IAnimatedMesh* earthMesh = smgr->getMesh("../../media/earth.x"); | 314 | scene::IAnimatedMesh* earthMesh = smgr->getMesh("../../media/earth.x"); |
315 | if (earthMesh) | 315 | if (earthMesh) |
316 | { | 316 | { |
317 | //perform various task with the mesh manipulator | 317 | //perform various task with the mesh manipulator |
318 | scene::IMeshManipulator *manipulator = smgr->getMeshManipulator(); | 318 | scene::IMeshManipulator *manipulator = smgr->getMeshManipulator(); |
319 | 319 | ||
320 | // create mesh copy with tangent informations from original earth.x mesh | 320 | // create mesh copy with tangent informations from original earth.x mesh |
321 | scene::IMesh* tangentSphereMesh = | 321 | scene::IMesh* tangentSphereMesh = |
322 | manipulator->createMeshWithTangents(earthMesh->getMesh(0)); | 322 | manipulator->createMeshWithTangents(earthMesh->getMesh(0)); |
323 | 323 | ||
324 | // set the alpha value of all vertices to 200 | 324 | // set the alpha value of all vertices to 200 |
325 | manipulator->setVertexColorAlpha(tangentSphereMesh, 200); | 325 | manipulator->setVertexColorAlpha(tangentSphereMesh, 200); |
326 | 326 | ||
327 | // scale the mesh by factor 50 | 327 | // scale the mesh by factor 50 |
328 | core::matrix4 m; | 328 | core::matrix4 m; |
329 | m.setScale ( core::vector3df(50,50,50) ); | 329 | m.setScale ( core::vector3df(50,50,50) ); |
330 | manipulator->transform( tangentSphereMesh, m ); | 330 | manipulator->transform( tangentSphereMesh, m ); |
331 | 331 | ||
332 | earth = smgr->addMeshSceneNode(tangentSphereMesh); | 332 | earth = smgr->addMeshSceneNode(tangentSphereMesh); |
333 | 333 | ||
334 | earth->setPosition(core::vector3df(-70,130,45)); | 334 | earth->setPosition(core::vector3df(-70,130,45)); |
335 | 335 | ||
336 | // load heightmap, create normal map from it and set it | 336 | // load heightmap, create normal map from it and set it |
337 | video::ITexture* earthNormalMap = driver->getTexture("../../media/earthbump.jpg"); | 337 | video::ITexture* earthNormalMap = driver->getTexture("../../media/earthbump.jpg"); |
338 | if (earthNormalMap) | 338 | if (earthNormalMap) |
339 | { | 339 | { |
340 | driver->makeNormalMapTexture(earthNormalMap, 20.0f); | 340 | driver->makeNormalMapTexture(earthNormalMap, 20.0f); |
341 | earth->setMaterialTexture(1, earthNormalMap); | 341 | earth->setMaterialTexture(1, earthNormalMap); |
342 | earth->setMaterialType(video::EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA); | 342 | earth->setMaterialType(video::EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA); |
343 | } | 343 | } |
344 | 344 | ||
345 | // adjust material settings | 345 | // adjust material settings |
346 | earth->setMaterialFlag(video::EMF_FOG_ENABLE, true); | 346 | earth->setMaterialFlag(video::EMF_FOG_ENABLE, true); |
347 | 347 | ||
348 | // add rotation animator | 348 | // add rotation animator |
349 | scene::ISceneNodeAnimator* anim = | 349 | scene::ISceneNodeAnimator* anim = |
350 | smgr->createRotationAnimator(core::vector3df(0,0.1f,0)); | 350 | smgr->createRotationAnimator(core::vector3df(0,0.1f,0)); |
351 | earth->addAnimator(anim); | 351 | earth->addAnimator(anim); |
352 | anim->drop(); | 352 | anim->drop(); |
353 | 353 | ||
354 | // drop mesh because we created it with a create.. call. | 354 | // drop mesh because we created it with a create.. call. |
355 | tangentSphereMesh->drop(); | 355 | tangentSphereMesh->drop(); |
356 | } | 356 | } |
357 | 357 | ||
358 | /* | 358 | /* |
359 | Per pixel lighted materials only look cool when there are moving | 359 | Per pixel lighted materials only look cool when there are moving |
360 | lights. So we add some. And because moving lights alone are so boring, | 360 | lights. So we add some. And because moving lights alone are so boring, |
361 | we add billboards to them, and a whole particle system to one of them. | 361 | we add billboards to them, and a whole particle system to one of them. |
362 | We start with the first light which is red and has only the billboard | 362 | We start with the first light which is red and has only the billboard |
363 | attached. | 363 | attached. |
364 | */ | 364 | */ |
365 | 365 | ||
366 | // add light 1 (more green) | 366 | // add light 1 (more green) |
367 | scene::ILightSceneNode* light1 = | 367 | scene::ILightSceneNode* light1 = |
368 | smgr->addLightSceneNode(0, core::vector3df(0,0,0), | 368 | smgr->addLightSceneNode(0, core::vector3df(0,0,0), |
369 | video::SColorf(0.5f, 1.0f, 0.5f, 0.0f), 800.0f); | 369 | video::SColorf(0.5f, 1.0f, 0.5f, 0.0f), 800.0f); |
370 | 370 | ||
371 | light1->setDebugDataVisible ( scene::EDS_BBOX ); | 371 | light1->setDebugDataVisible ( scene::EDS_BBOX ); |
372 | 372 | ||
373 | 373 | ||
374 | // add fly circle animator to light 1 | 374 | // add fly circle animator to light 1 |
375 | scene::ISceneNodeAnimator* anim = | 375 | scene::ISceneNodeAnimator* anim = |
376 | smgr->createFlyCircleAnimator (core::vector3df(50,300,0),190.0f, -0.003f); | 376 | smgr->createFlyCircleAnimator (core::vector3df(50,300,0),190.0f, -0.003f); |
377 | light1->addAnimator(anim); | 377 | light1->addAnimator(anim); |
378 | anim->drop(); | 378 | anim->drop(); |
379 | 379 | ||
380 | // attach billboard to the light | 380 | // attach billboard to the light |
381 | scene::IBillboardSceneNode* bill = | 381 | scene::IBillboardSceneNode* bill = |
382 | smgr->addBillboardSceneNode(light1, core::dimension2d<f32>(60, 60)); | 382 | smgr->addBillboardSceneNode(light1, core::dimension2d<f32>(60, 60)); |
383 | 383 | ||
384 | bill->setMaterialFlag(video::EMF_LIGHTING, false); | 384 | bill->setMaterialFlag(video::EMF_LIGHTING, false); |
385 | bill->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false); | 385 | bill->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false); |
386 | bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); | 386 | bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); |
387 | bill->setMaterialTexture(0, driver->getTexture("../../media/particlegreen.jpg")); | 387 | bill->setMaterialTexture(0, driver->getTexture("../../media/particlegreen.jpg")); |
388 | 388 | ||
389 | /* | 389 | /* |
390 | Now the same again, with the second light. The difference is that we | 390 | Now the same again, with the second light. The difference is that we |
391 | add a particle system to it too. And because the light moves, the | 391 | add a particle system to it too. And because the light moves, the |
392 | particles of the particlesystem will follow. If you want to know more | 392 | particles of the particlesystem will follow. If you want to know more |
393 | about how particle systems are created in Irrlicht, take a look at the | 393 | about how particle systems are created in Irrlicht, take a look at the |
394 | specialFx example. Maybe you will have noticed that we only add 2 | 394 | specialFx example. Maybe you will have noticed that we only add 2 |
395 | lights, this has a simple reason: The low end version of this material | 395 | lights, this has a simple reason: The low end version of this material |
396 | was written in ps1.1 and vs1.1, which doesn't allow more lights. You | 396 | was written in ps1.1 and vs1.1, which doesn't allow more lights. You |
397 | could add a third light to the scene, but it won't be used to shade the | 397 | could add a third light to the scene, but it won't be used to shade the |
398 | walls. But of course, this will change in future versions of Irrlicht | 398 | walls. But of course, this will change in future versions of Irrlicht |
399 | where higher versions of pixel/vertex shaders will be implemented too. | 399 | where higher versions of pixel/vertex shaders will be implemented too. |
400 | */ | 400 | */ |
401 | 401 | ||
402 | // add light 2 (red) | 402 | // add light 2 (red) |
403 | scene::ISceneNode* light2 = | 403 | scene::ISceneNode* light2 = |
404 | smgr->addLightSceneNode(0, core::vector3df(0,0,0), | 404 | smgr->addLightSceneNode(0, core::vector3df(0,0,0), |
405 | video::SColorf(1.0f, 0.2f, 0.2f, 0.0f), 800.0f); | 405 | video::SColorf(1.0f, 0.2f, 0.2f, 0.0f), 800.0f); |
406 | 406 | ||
407 | // add fly circle animator to light 2 | 407 | // add fly circle animator to light 2 |
408 | anim = smgr->createFlyCircleAnimator(core::vector3df(0,150,0), 200.0f, | 408 | anim = smgr->createFlyCircleAnimator(core::vector3df(0,150,0), 200.0f, |
409 | 0.001f, core::vector3df(0.2f, 0.9f, 0.f)); | 409 | 0.001f, core::vector3df(0.2f, 0.9f, 0.f)); |
410 | light2->addAnimator(anim); | 410 | light2->addAnimator(anim); |
411 | anim->drop(); | 411 | anim->drop(); |
412 | 412 | ||
413 | // attach billboard to light | 413 | // attach billboard to light |
414 | bill = smgr->addBillboardSceneNode(light2, core::dimension2d<f32>(120, 120)); | 414 | bill = smgr->addBillboardSceneNode(light2, core::dimension2d<f32>(120, 120)); |
415 | bill->setMaterialFlag(video::EMF_LIGHTING, false); | 415 | bill->setMaterialFlag(video::EMF_LIGHTING, false); |
416 | bill->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false); | 416 | bill->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false); |
417 | bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); | 417 | bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); |
418 | bill->setMaterialTexture(0, driver->getTexture("../../media/particlered.bmp")); | 418 | bill->setMaterialTexture(0, driver->getTexture("../../media/particlered.bmp")); |
419 | 419 | ||
420 | // add particle system | 420 | // add particle system |
421 | scene::IParticleSystemSceneNode* ps = | 421 | scene::IParticleSystemSceneNode* ps = |
422 | smgr->addParticleSystemSceneNode(false, light2); | 422 | smgr->addParticleSystemSceneNode(false, light2); |
423 | 423 | ||
424 | // create and set emitter | 424 | // create and set emitter |
425 | scene::IParticleEmitter* em = ps->createBoxEmitter( | 425 | scene::IParticleEmitter* em = ps->createBoxEmitter( |
426 | core::aabbox3d<f32>(-3,0,-3,3,1,3), | 426 | core::aabbox3d<f32>(-3,0,-3,3,1,3), |
427 | core::vector3df(0.0f,0.03f,0.0f), | 427 | core::vector3df(0.0f,0.03f,0.0f), |
428 | 80,100, | 428 | 80,100, |
429 | video::SColor(10,255,255,255), video::SColor(10,255,255,255), | 429 | video::SColor(10,255,255,255), video::SColor(10,255,255,255), |
430 | 400,1100); | 430 | 400,1100); |
431 | em->setMinStartSize(core::dimension2d<f32>(30.0f, 40.0f)); | 431 | em->setMinStartSize(core::dimension2d<f32>(30.0f, 40.0f)); |
432 | em->setMaxStartSize(core::dimension2d<f32>(30.0f, 40.0f)); | 432 | em->setMaxStartSize(core::dimension2d<f32>(30.0f, 40.0f)); |
433 | 433 | ||
434 | ps->setEmitter(em); | 434 | ps->setEmitter(em); |
435 | em->drop(); | 435 | em->drop(); |
436 | 436 | ||
437 | // create and set affector | 437 | // create and set affector |
438 | scene::IParticleAffector* paf = ps->createFadeOutParticleAffector(); | 438 | scene::IParticleAffector* paf = ps->createFadeOutParticleAffector(); |
439 | ps->addAffector(paf); | 439 | ps->addAffector(paf); |
440 | paf->drop(); | 440 | paf->drop(); |
441 | 441 | ||
442 | // adjust some material settings | 442 | // adjust some material settings |
443 | ps->setMaterialFlag(video::EMF_LIGHTING, false); | 443 | ps->setMaterialFlag(video::EMF_LIGHTING, false); |
444 | ps->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false); | 444 | ps->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false); |
445 | ps->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp")); | 445 | ps->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp")); |
446 | ps->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); | 446 | ps->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); |
447 | 447 | ||
448 | MyEventReceiver receiver(room, earth, env, driver); | 448 | MyEventReceiver receiver(room, earth, env, driver); |
449 | device->setEventReceiver(&receiver); | 449 | device->setEventReceiver(&receiver); |
450 | 450 | ||
451 | /* | 451 | /* |
452 | Finally, draw everything. That's it. | 452 | Finally, draw everything. That's it. |
453 | */ | 453 | */ |
454 | 454 | ||
455 | int lastFPS = -1; | 455 | int lastFPS = -1; |
456 | 456 | ||
457 | while(device->run()) | 457 | while(device->run()) |
458 | if (device->isWindowActive()) | 458 | if (device->isWindowActive()) |
459 | { | 459 | { |
460 | driver->beginScene(true, true, 0); | 460 | driver->beginScene(true, true, 0); |
461 | 461 | ||
462 | smgr->drawAll(); | 462 | smgr->drawAll(); |
463 | env->drawAll(); | 463 | env->drawAll(); |
464 | 464 | ||
465 | driver->endScene(); | 465 | driver->endScene(); |
466 | 466 | ||
467 | int fps = driver->getFPS(); | 467 | int fps = driver->getFPS(); |
468 | 468 | ||
469 | if (lastFPS != fps) | 469 | if (lastFPS != fps) |
470 | { | 470 | { |
471 | core::stringw str = L"Per pixel lighting example - Irrlicht Engine ["; | 471 | core::stringw str = L"Per pixel lighting example - Irrlicht Engine ["; |
472 | str += driver->getName(); | 472 | str += driver->getName(); |
473 | str += "] FPS:"; | 473 | str += "] FPS:"; |
474 | str += fps; | 474 | str += fps; |
475 | 475 | ||
476 | device->setWindowCaption(str.c_str()); | 476 | device->setWindowCaption(str.c_str()); |
477 | lastFPS = fps; | 477 | lastFPS = fps; |
478 | } | 478 | } |
479 | } | 479 | } |
480 | 480 | ||
481 | device->drop(); | 481 | device->drop(); |
482 | 482 | ||
483 | return 0; | 483 | return 0; |
484 | } | 484 | } |
485 | 485 | ||
486 | /* | 486 | /* |
487 | **/ | 487 | **/ |
diff --git a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/tutorial.html b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/tutorial.html index 89e87bd..986d176 100644 --- a/libraries/irrlicht-1.8/examples/11.PerPixelLighting/tutorial.html +++ b/libraries/irrlicht-1.8/examples/11.PerPixelLighting/tutorial.html | |||
@@ -1,502 +1,502 @@ | |||
1 | <html> | 1 | <html> |
2 | <head> | 2 | <head> |
3 | <title>Irrlicht Engine Tutorial</title> | 3 | <title>Irrlicht Engine Tutorial</title> |
4 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | 4 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
5 | </head> | 5 | </head> |
6 | 6 | ||
7 | <body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> | 7 | <body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> |
8 | <br> | 8 | <br> |
9 | <table width="95%" border="0" cellspacing="0" cellpadding="2" align="center"> | 9 | <table width="95%" border="0" cellspacing="0" cellpadding="2" align="center"> |
10 | <tr> | 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> | 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%"> | 12 | <td bgcolor="#666699" width="100%"> |
13 | <div align="center"> | 13 | <div align="center"> |
14 | <div align="left"><b><font color="#FFFFFF">Tutorial 11. Per pixel lighting</font></b></div> | 14 | <div align="left"><b><font color="#FFFFFF">Tutorial 11. Per pixel lighting</font></b></div> |
15 | </div> | 15 | </div> |
16 | </td> | 16 | </td> |
17 | </tr> | 17 | </tr> |
18 | <tr bgcolor="#eeeeff"> | 18 | <tr bgcolor="#eeeeff"> |
19 | <td height="90" colspan="2"> | 19 | <td height="90" colspan="2"> |
20 | <div align="left"> | 20 | <div align="left"> |
21 | <p> This tutorial shows how to use one of the built in more complex materials | 21 | <p> This tutorial shows how to use one of the built in more complex materials |
22 | in irrlicht: Per pixel lighted surfaces using normal maps and parallax | 22 | in irrlicht: Per pixel lighted surfaces using normal maps and parallax |
23 | mapping. It will also show how to use fog and moving particle systems. | 23 | mapping. It will also show how to use fog and moving particle systems. |
24 | And don't panic: You dont need any experience with shaders to use these | 24 | And don't panic: You dont need any experience with shaders to use these |
25 | materials in Irrlicht.</p> | 25 | materials in Irrlicht.</p> |
26 | <p>The program which is described here will look like this:</p> | 26 | <p>The program which is described here will look like this:</p> |
27 | <p align="center"><img src="../../media/011shot.jpg" width="258" height="202"><br> | 27 | <p align="center"><img src="../../media/011shot.jpg" width="258" height="202"><br> |
28 | </p> | 28 | </p> |
29 | </div> | 29 | </div> |
30 | </td> | 30 | </td> |
31 | </tr> | 31 | </tr> |
32 | </table> | 32 | </table> |
33 | <br> | 33 | <br> |
34 | <table width="95%" border="0" cellspacing="0" cellpadding="2" align="center"> | 34 | <table width="95%" border="0" cellspacing="0" cellpadding="2" align="center"> |
35 | <tr> | 35 | <tr> |
36 | <td bgcolor="#666699"> <b><font color="#FFFFFF">Lets start!</font></b></td> | 36 | <td bgcolor="#666699"> <b><font color="#FFFFFF">Lets start!</font></b></td> |
37 | </tr> | 37 | </tr> |
38 | <tr> | 38 | <tr> |
39 | <td height="90" bgcolor="#eeeeff" valign="top"> <div align="left"> | 39 | <td height="90" bgcolor="#eeeeff" valign="top"> <div align="left"> |
40 | <div align="left"> | 40 | <div align="left"> |
41 | <p>At first, we need to include all headers and do the stuff we always | 41 | <p>At first, we need to include all headers and do the stuff we always |
42 | do, like in nearly all other tutorials.</p> | 42 | do, like in nearly all other tutorials.</p> |
43 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 43 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
44 | <tr> | 44 | <tr> |
45 | <td> <pre>#include <irrlicht.h><br>#include <iostream><br><br>using namespace irr;<br><br>#pragma comment(lib, "Irrlicht.lib")<br></pre></td> | 45 | <td> <pre>#include <irrlicht.h><br>#include <iostream><br><br>using namespace irr;<br><br>#pragma comment(lib, "Irrlicht.lib")<br></pre></td> |
46 | </tr> | 46 | </tr> |
47 | </table> | 47 | </table> |
48 | <p>For this example, we need an event receiver, to make it possible | 48 | <p>For this example, we need an event receiver, to make it possible |
49 | for the user to switch between the three available material types. | 49 | for the user to switch between the three available material types. |
50 | In addition, the event receiver will create some small GUI window | 50 | In addition, the event receiver will create some small GUI window |
51 | which displays what material is currently being used. There is nothing | 51 | which displays what material is currently being used. There is nothing |
52 | special done in this class, so maybe you want to skip reading it.</p> | 52 | special done in this class, so maybe you want to skip reading it.</p> |
53 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 53 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
54 | <tr> | 54 | <tr> |
55 | <td><pre>class MyEventReceiver : public IEventReceiver | 55 | <td><pre>class MyEventReceiver : public IEventReceiver |
56 | { | 56 | { |
57 | public: | 57 | public: |
58 | 58 | ||
59 | MyEventReceiver(scene::ISceneNode* room, | 59 | MyEventReceiver(scene::ISceneNode* room, |
60 | gui::IGUIEnvironment* env, video::IVideoDriver* driver) | 60 | gui::IGUIEnvironment* env, video::IVideoDriver* driver) |
61 | { | 61 | { |
62 | // store pointer to room so we can change its drawing mode | 62 | // store pointer to room so we can change its drawing mode |
63 | Room = room; | 63 | Room = room; |
64 | Driver = driver; | 64 | Driver = driver; |
65 | 65 | ||
66 | // set a nicer font | 66 | // set a nicer font |
67 | gui::IGUISkin* skin = env->getSkin(); | 67 | gui::IGUISkin* skin = env->getSkin(); |
68 | gui::IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp"); | 68 | gui::IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp"); |
69 | if (font) | 69 | if (font) |
70 | skin->setFont(font); | 70 | skin->setFont(font); |
71 | 71 | ||
72 | // add window and listbox | 72 | // add window and listbox |
73 | gui::IGUIWindow* window = env->addWindow( | 73 | gui::IGUIWindow* window = env->addWindow( |
74 | core::rect<s32>(490,390,630,470), false, L"Use 'E' + 'R' to change"); | 74 | core::rect<s32>(490,390,630,470), false, L"Use 'E' + 'R' to change"); |
75 | 75 | ||
76 | ListBox = env->addListBox( | 76 | ListBox = env->addListBox( |
77 | core::rect<s32>(2,22,135,78), window); | 77 | core::rect<s32>(2,22,135,78), window); |
78 | 78 | ||
79 | ListBox->addItem(L"Diffuse"); | 79 | ListBox->addItem(L"Diffuse"); |
80 | ListBox->addItem(L"Bump mapping"); | 80 | ListBox->addItem(L"Bump mapping"); |
81 | ListBox->addItem(L"Parallax mapping"); | 81 | ListBox->addItem(L"Parallax mapping"); |
82 | ListBox->setSelected(1); | 82 | ListBox->setSelected(1); |
83 | 83 | ||
84 | // create problem text | 84 | // create problem text |
85 | ProblemText = env->addStaticText( | 85 | ProblemText = env->addStaticText( |
86 | L"Your hardware or this renderer is not able to use the "\ | 86 | L"Your hardware or this renderer is not able to use the "\ |
87 | L"needed shaders for this material. Using fall back materials.", | 87 | L"needed shaders for this material. Using fall back materials.", |
88 | core::rect<s32>(150,20,470,60)); | 88 | core::rect<s32>(150,20,470,60)); |
89 | 89 | ||
90 | ProblemText->setOverrideColor(video::SColor(100,255,255,255)); | 90 | ProblemText->setOverrideColor(video::SColor(100,255,255,255)); |
91 | 91 | ||
92 | // set start material (prefer parallax mapping if available) | 92 | // set start material (prefer parallax mapping if available) |
93 | video::IMaterialRenderer* renderer = | 93 | video::IMaterialRenderer* renderer = |
94 | Driver->getMaterialRenderer(video::EMT_PARALLAX_MAP_SOLID); | 94 | Driver->getMaterialRenderer(video::EMT_PARALLAX_MAP_SOLID); |
95 | if (renderer && renderer->getRenderCapability() == 0) | 95 | if (renderer && renderer->getRenderCapability() == 0) |
96 | ListBox->setSelected(2); | 96 | ListBox->setSelected(2); |
97 | 97 | ||
98 | // set the material which is selected in the listbox | 98 | // set the material which is selected in the listbox |
99 | setMaterial(); | 99 | setMaterial(); |
100 | } | 100 | } |
101 | 101 | ||
102 | bool OnEvent(const SEvent& event) | 102 | bool OnEvent(const SEvent& event) |
103 | { | 103 | { |
104 | // check if user presses the key 'E' or 'R' | 104 | // check if user presses the key 'E' or 'R' |
105 | if (event.EventType == irr::EET_KEY_INPUT_EVENT && | 105 | if (event.EventType == irr::EET_KEY_INPUT_EVENT && |
106 | !event.KeyInput.PressedDown && Room && ListBox) | 106 | !event.KeyInput.PressedDown && Room && ListBox) |
107 | { | 107 | { |
108 | // change selected item in listbox | 108 | // change selected item in listbox |
109 | 109 | ||
110 | int sel = ListBox->getSelected(); | 110 | int sel = ListBox->getSelected(); |
111 | if (event.KeyInput.Key == irr::KEY_KEY_R) | 111 | if (event.KeyInput.Key == irr::KEY_KEY_R) |
112 | ++sel; | 112 | ++sel; |
113 | else | 113 | else |
114 | if (event.KeyInput.Key == irr::KEY_KEY_E) | 114 | if (event.KeyInput.Key == irr::KEY_KEY_E) |
115 | --sel; | 115 | --sel; |
116 | else | 116 | else |
117 | return false; | 117 | return false; |
118 | 118 | ||
119 | if (sel > 2) sel = 0; | 119 | if (sel > 2) sel = 0; |
120 | if (sel < 0) sel = 2; | 120 | if (sel < 0) sel = 2; |
121 | ListBox->setSelected(sel); | 121 | ListBox->setSelected(sel); |
122 | 122 | ||
123 | // set the material which is selected in the listbox | 123 | // set the material which is selected in the listbox |
124 | setMaterial(); | 124 | setMaterial(); |
125 | } | 125 | } |
126 | 126 | ||
127 | return false; | 127 | return false; |
128 | } | 128 | } |
129 | 129 | ||
130 | private: | 130 | private: |
131 | 131 | ||
132 | // sets the material of the room mesh the the one set in the | 132 | // sets the material of the room mesh the the one set in the |
133 | // list box. | 133 | // list box. |
134 | void setMaterial() | 134 | void setMaterial() |
135 | { | 135 | { |
136 | video::E_MATERIAL_TYPE type = video::EMT_SOLID; | 136 | video::E_MATERIAL_TYPE type = video::EMT_SOLID; |
137 | 137 | ||
138 | // change material setting | 138 | // change material setting |
139 | switch(ListBox->getSelected()) | 139 | switch(ListBox->getSelected()) |
140 | { | 140 | { |
141 | case 0: type = video::EMT_SOLID; | 141 | case 0: type = video::EMT_SOLID; |
142 | break; | 142 | break; |
143 | case 1: type = video::EMT_NORMAL_MAP_SOLID; | 143 | case 1: type = video::EMT_NORMAL_MAP_SOLID; |
144 | break; | 144 | break; |
145 | case 2: type = video::EMT_PARALLAX_MAP_SOLID; | 145 | case 2: type = video::EMT_PARALLAX_MAP_SOLID; |
146 | break; | 146 | break; |
147 | } | 147 | } |
148 | 148 | ||
149 | Room->setMaterialType(type);</pre> | 149 | Room->setMaterialType(type);</pre> |
150 | </td> | 150 | </td> |
151 | </tr> | 151 | </tr> |
152 | </table> | 152 | </table> |
153 | <p>We need to add a warning if the materials will not be able to be | 153 | <p>We need to add a warning if the materials will not be able to be |
154 | displayed 100% correctly. This is no problem, they will be renderered | 154 | displayed 100% correctly. This is no problem, they will be renderered |
155 | using fall back materials, but at least the user should know that | 155 | using fall back materials, but at least the user should know that |
156 | it would look better on better hardware. We simply check if the material | 156 | it would look better on better hardware. We simply check if the material |
157 | renderer is able to draw at full quality on the current hardware. | 157 | renderer is able to draw at full quality on the current hardware. |
158 | The IMaterialRenderer::getRenderCapability() returns 0 if this is | 158 | The IMaterialRenderer::getRenderCapability() returns 0 if this is |
159 | the case.<br> | 159 | the case.<br> |
160 | </p> | 160 | </p> |
161 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 161 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
162 | <tr> | 162 | <tr> |
163 | <td> <pre>video::IMaterialRenderer* renderer = Driver->getMaterialRenderer(type); | 163 | <td> <pre>video::IMaterialRenderer* renderer = Driver->getMaterialRenderer(type); |
164 | 164 | ||
165 | // display some problem text when problem | 165 | // display some problem text when problem |
166 | if (!renderer || renderer->getRenderCapability() != 0) | 166 | if (!renderer || renderer->getRenderCapability() != 0) |
167 | ProblemText->setVisible(true); | 167 | ProblemText->setVisible(true); |
168 | else | 168 | else |
169 | ProblemText->setVisible(false); | 169 | ProblemText->setVisible(false); |
170 | } | 170 | } |
171 | 171 | ||
172 | private: | 172 | private: |
173 | 173 | ||
174 | gui::IGUIStaticText* ProblemText; | 174 | gui::IGUIStaticText* ProblemText; |
175 | gui::IGUIListBox* ListBox; | 175 | gui::IGUIListBox* ListBox; |
176 | 176 | ||
177 | scene::ISceneNode* Room; | 177 | scene::ISceneNode* Room; |
178 | video::IVideoDriver* Driver; | 178 | video::IVideoDriver* Driver; |
179 | };</pre></td> | 179 | };</pre></td> |
180 | </tr> | 180 | </tr> |
181 | </table> | 181 | </table> |
182 | <p><br> | 182 | <p><br> |
183 | Now for the real fun. We create an Irrlicht Device and start to setup | 183 | Now for the real fun. We create an Irrlicht Device and start to setup |
184 | the scene.<br> | 184 | the scene.<br> |
185 | </p> | 185 | </p> |
186 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 186 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
187 | <tr> | 187 | <tr> |
188 | <td> <pre>int main() | 188 | <td> <pre>int main() |
189 | { | 189 | { |
190 | // let user select driver type | 190 | // let user select driver type |
191 | 191 | ||
192 | video::E_DRIVER_TYPE driverType = video::EDT_DIRECT3D9; | 192 | video::E_DRIVER_TYPE driverType = video::EDT_DIRECT3D9; |
193 | <br> printf("Please select the driver you want for this example:\n"\<br> " (a) Direct3D 9.0c\n (b) Direct3D 8.1\n (c) OpenGL 1.5\n"\<br> " (d) Software Renderer\n (e) Apfelbaum Software Renderer\n"\<br> " (f) NullDevice\n (otherKey) exit\n\n");<br> | 193 | <br> printf("Please select the driver you want for this example:\n"\<br> " (a) Direct3D 9.0c\n (b) Direct3D 8.1\n (c) OpenGL 1.5\n"\<br> " (d) Software Renderer\n (e) Apfelbaum Software Renderer\n"\<br> " (f) NullDevice\n (otherKey) exit\n\n");<br> |
194 | char i; | 194 | char i; |
195 | std::cin >> i; | 195 | std::cin >> i; |
196 | 196 | ||
197 | switch(i)<br> {<br> case 'a': driverType = video::EDT_DIRECT3D9;break;<br> case 'b': driverType = video::EDT_DIRECT3D8;break;<br> case 'c': driverType = video::EDT_OPENGL; break;<br> case 'd': driverType = video::EDT_SOFTWARE; break;<br> case 'e': driverType = video::EDT_BURNINGSVIDEO;break;<br> case 'f': driverType = video::EDT_NULL; break;<br> default: return 0;<br> } | 197 | switch(i)<br> {<br> case 'a': driverType = video::EDT_DIRECT3D9;break;<br> case 'b': driverType = video::EDT_DIRECT3D8;break;<br> case 'c': driverType = video::EDT_OPENGL; break;<br> case 'd': driverType = video::EDT_SOFTWARE; break;<br> case 'e': driverType = video::EDT_BURNINGSVIDEO;break;<br> case 'f': driverType = video::EDT_NULL; break;<br> default: return 0;<br> } |
198 | 198 | ||
199 | // create device | 199 | // create device |
200 | 200 | ||
201 | IrrlichtDevice* device = createDevice(driverType, core::dimension2d<s32>(640, 480)); | 201 | IrrlichtDevice* device = createDevice(driverType, core::dimension2d<s32>(640, 480)); |
202 | 202 | ||
203 | if (device == 0) | 203 | if (device == 0) |
204 | return 1; // could not create selected driver. | 204 | return 1; // could not create selected driver. |
205 | </pre></td> | 205 | </pre></td> |
206 | </tr> | 206 | </tr> |
207 | </table> | 207 | </table> |
208 | <br> | 208 | <br> |
209 | Before we start with the interesting stuff, we do some simple things: | 209 | Before we start with the interesting stuff, we do some simple things: |
210 | Store pointers to the most important parts of the engine (video driver,<br> | 210 | Store pointers to the most important parts of the engine (video driver,<br> |
211 | scene manager, gui environment) to safe us from typing too much, add | 211 | scene manager, gui environment) to safe us from typing too much, add |
212 | an irrlicht engine logo to the window and a user controlled first person | 212 | an irrlicht engine logo to the window and a user controlled first person |
213 | shooter style camera. Also, we let the engine now that it should store | 213 | shooter style camera. Also, we let the engine now that it should store |
214 | all textures in 32 bit. This necessary because for parallax mapping, | 214 | all textures in 32 bit. This necessary because for parallax mapping, |
215 | we need 32 bit textures.<br> | 215 | we need 32 bit textures.<br> |
216 | <br> | 216 | <br> |
217 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 217 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
218 | <tr> | 218 | <tr> |
219 | <td> <pre> | 219 | <td> <pre> |
220 | video::IVideoDriver* driver = device->getVideoDriver(); | 220 | video::IVideoDriver* driver = device->getVideoDriver(); |
221 | scene::ISceneManager* smgr = device->getSceneManager(); | 221 | scene::ISceneManager* smgr = device->getSceneManager(); |
222 | gui::IGUIEnvironment* env = device->getGUIEnvironment(); | 222 | gui::IGUIEnvironment* env = device->getGUIEnvironment(); |
223 | 223 | ||
224 | driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true); | 224 | driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true); |
225 | 225 | ||
226 | // add irrlicht logo | 226 | // add irrlicht logo |
227 | env->addImage(driver->getTexture("../../media/irrlichtlogoalpha.tga"), | 227 | env->addImage(driver->getTexture("../../media/irrlichtlogoalpha.tga"), |
228 | core::position2d<s32>(10,10)); | 228 | core::position2d<s32>(10,10)); |
229 | 229 | ||
230 | // add camera | 230 | // add camera |
231 | scene::ICameraSceneNode* camera = | 231 | scene::ICameraSceneNode* camera = |
232 | smgr->addCameraSceneNodeFPS(0,100.0f,300.0f); | 232 | smgr->addCameraSceneNodeFPS(0,100.0f,300.0f); |
233 | camera->setPosition(core::vector3df(-200,200,-200)); | 233 | camera->setPosition(core::vector3df(-200,200,-200)); |
234 | 234 | ||
235 | // disable mouse cursor | 235 | // disable mouse cursor |
236 | device->getCursorControl()->setVisible(false);</pre></td> | 236 | device->getCursorControl()->setVisible(false);</pre></td> |
237 | </tr> | 237 | </tr> |
238 | </table> | 238 | </table> |
239 | <br> | 239 | <br> |
240 | Because we want the whole scene to look a little bit scarier, we add | 240 | Because we want the whole scene to look a little bit scarier, we add |
241 | some fog to it. This is done by a call to IVideoDriver::setFog(). There | 241 | some fog to it. This is done by a call to IVideoDriver::setFog(). There |
242 | you can set<br> | 242 | you can set<br> |
243 | various fog settings. In this example, we use pixel fog, because it | 243 | various fog settings. In this example, we use pixel fog, because it |
244 | will work well with the materials we'll use in this example. Please | 244 | will work well with the materials we'll use in this example. Please |
245 | note that you will have to set the material flag EMF_FOG_ENABLE to 'true' | 245 | note that you will have to set the material flag EMF_FOG_ENABLE to 'true' |
246 | in every scene node which should be affected by this fog.<br> | 246 | in every scene node which should be affected by this fog.<br> |
247 | <br> | 247 | <br> |
248 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 248 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
249 | <tr> | 249 | <tr> |
250 | <td> <pre>driver->setFog(video::SColor(0,138,125,81), true, 250, 1000, 0, true);<br></pre></td> | 250 | <td> <pre>driver->setFog(video::SColor(0,138,125,81), true, 250, 1000, 0, true);<br></pre></td> |
251 | </tr> | 251 | </tr> |
252 | </table> | 252 | </table> |
253 | <br> | 253 | <br> |
254 | To be able to display something interesting, we load a mesh from a .3ds | 254 | To be able to display something interesting, we load a mesh from a .3ds |
255 | file which is a room I modeled with anim8or. It is the same room as | 255 | file which is a room I modeled with anim8or. It is the same room as |
256 | <br> | 256 | <br> |
257 | from the specialFX example. Maybe you remember from that tutorial, I | 257 | from the specialFX example. Maybe you remember from that tutorial, I |
258 | am no good modeler at all and so I totally messed up the texture mapping | 258 | am no good modeler at all and so I totally messed up the texture mapping |
259 | in this model, but we can simply repair it with the IMeshManipulator::makePlanarTextureMapping() | 259 | in this model, but we can simply repair it with the IMeshManipulator::makePlanarTextureMapping() |
260 | method.<br> | 260 | method.<br> |
261 | <br> | 261 | <br> |
262 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 262 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
263 | <tr> | 263 | <tr> |
264 | <td> <pre> scene::IAnimatedMesh* roomMesh = smgr->getMesh( | 264 | <td> <pre> scene::IAnimatedMesh* roomMesh = smgr->getMesh( |
265 | "../../media/room.3ds"); | 265 | "../../media/room.3ds"); |
266 | scene::ISceneNode* room = 0; | 266 | scene::ISceneNode* room = 0; |
267 | 267 | ||
268 | if (roomMesh) | 268 | if (roomMesh) |
269 | { | 269 | { |
270 | smgr->getMeshManipulator()->makePlanarTextureMapping( | 270 | smgr->getMeshManipulator()->makePlanarTextureMapping( |
271 | roomMesh->getMesh(0), 0.003f);</pre></td> | 271 | roomMesh->getMesh(0), 0.003f);</pre></td> |
272 | </tr> | 272 | </tr> |
273 | </table> | 273 | </table> |
274 | <br> | 274 | <br> |
275 | Now for the first exciting thing: If we successfully loaded the mesh | 275 | Now for the first exciting thing: If we successfully loaded the mesh |
276 | we need to apply textures to it. Because we want this room to be displayed | 276 | we need to apply textures to it. Because we want this room to be displayed |
277 | with a very cool material, we have to do a little bit more than just | 277 | with a very cool material, we have to do a little bit more than just |
278 | set the textures. Instead of only loading a color map as usual, we also | 278 | set the textures. Instead of only loading a color map as usual, we also |
279 | load a height map which is simply a grayscale texture. From this height | 279 | load a height map which is simply a grayscale texture. From this height |
280 | map, we create a normal map which we will set as second texture of the | 280 | map, we create a normal map which we will set as second texture of the |
281 | room. If you already have a normal map, you could directly set it, but | 281 | room. If you already have a normal map, you could directly set it, but |
282 | I simply didn´t find a nice normal map for this texture. The normal | 282 | I simply didn´t find a nice normal map for this texture. The normal |
283 | map texture is being generated by the makeNormalMapTexture method<br> | 283 | map texture is being generated by the makeNormalMapTexture method<br> |
284 | of the VideoDriver. The second parameter specifies the height of the | 284 | of the VideoDriver. The second parameter specifies the height of the |
285 | heightmap. If you set it to a bigger value, the map will look more rocky.<br> | 285 | heightmap. If you set it to a bigger value, the map will look more rocky.<br> |
286 | <br> | 286 | <br> |
287 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 287 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
288 | <tr> | 288 | <tr> |
289 | <td> <pre> video::ITexture* colorMap = driver->getTexture("../../media/rockwall.bmp"); | 289 | <td> <pre> video::ITexture* colorMap = driver->getTexture("../../media/rockwall.bmp"); |
290 | video::ITexture* normalMap = driver->getTexture("../../media/rockwall_height.bmp"); | 290 | video::ITexture* normalMap = driver->getTexture("../../media/rockwall_height.bmp"); |
291 | 291 | ||
292 | driver->makeNormalMapTexture(normalMap, 9.0f);</pre></td> | 292 | driver->makeNormalMapTexture(normalMap, 9.0f);</pre></td> |
293 | </tr> | 293 | </tr> |
294 | </table> | 294 | </table> |
295 | <br> | 295 | <br> |
296 | But just setting color and normal map is not everything. The material | 296 | But just setting color and normal map is not everything. The material |
297 | we want to use needs some additional informations per vertex like tangents | 297 | we want to use needs some additional informations per vertex like tangents |
298 | and binormals.<br> | 298 | and binormals.<br> |
299 | Because we are too lazy to calculate that information now, we let Irrlicht | 299 | Because we are too lazy to calculate that information now, we let Irrlicht |
300 | do this for us. That's why we call IMeshManipulator::createMeshWithTangents(). | 300 | do this for us. That's why we call IMeshManipulator::createMeshWithTangents(). |
301 | It<br> | 301 | It<br> |
302 | creates a mesh copy with tangents and binormals from any other mesh. | 302 | creates a mesh copy with tangents and binormals from any other mesh. |
303 | After we've done that, we simply create a standard mesh scene node with | 303 | After we've done that, we simply create a standard mesh scene node with |
304 | this<br> | 304 | this<br> |
305 | mesh copy, set color and normal map and adjust some other material settings. | 305 | mesh copy, set color and normal map and adjust some other material settings. |
306 | Note that we set EMF_FOG_ENABLE to true to enable fog in the room.<br> | 306 | Note that we set EMF_FOG_ENABLE to true to enable fog in the room.<br> |
307 | <br> | 307 | <br> |
308 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 308 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
309 | <tr> | 309 | <tr> |
310 | <td> <pre>scene::IMesh* tangentMesh = smgr->getMeshManipulator()->createMeshWithTangents(<br> roomMesh->getMesh(0));<br> <br> room = smgr->addMeshSceneNode(tangentMesh);<br> room->setMaterialTexture(0, colorMap);<br> room->setMaterialTexture(1, normalMap);<br> room->getMaterial(0).SpecularColor.set(0,0,0,0);<br> room->setMaterialFlag(video::EMF_FOG_ENABLE, true);<br> room->setMaterialType(video::EMT_PARALLAX_MAP_SOLID); <br> room->getMaterial(0).MaterialTypeParam = 0.02f; // adjust height for parallax effect<br> // drop mesh because we created it with a create.. call.<br> tangentMesh->drop();<br> }<br></pre></td> | 310 | <td> <pre>scene::IMesh* tangentMesh = smgr->getMeshManipulator()->createMeshWithTangents(<br> roomMesh->getMesh(0));<br> <br> room = smgr->addMeshSceneNode(tangentMesh);<br> room->setMaterialTexture(0, colorMap);<br> room->setMaterialTexture(1, normalMap);<br> room->getMaterial(0).SpecularColor.set(0,0,0,0);<br> room->setMaterialFlag(video::EMF_FOG_ENABLE, true);<br> room->setMaterialType(video::EMT_PARALLAX_MAP_SOLID); <br> room->getMaterial(0).MaterialTypeParam = 0.02f; // adjust height for parallax effect<br> // drop mesh because we created it with a create.. call.<br> tangentMesh->drop();<br> }<br></pre></td> |
311 | </tr> | 311 | </tr> |
312 | </table> | 312 | </table> |
313 | <br> | 313 | <br> |
314 | After we've created a room shaded by per pixel lighting, we add a sphere | 314 | After we've created a room shaded by per pixel lighting, we add a sphere |
315 | into it with the same material, but we'll make it transparent. In addition,<br> | 315 | into it with the same material, but we'll make it transparent. In addition,<br> |
316 | because the sphere looks somehow like a familiar planet, we make it | 316 | because the sphere looks somehow like a familiar planet, we make it |
317 | rotate. The procedure is similar as before. The difference is that we | 317 | rotate. The procedure is similar as before. The difference is that we |
318 | are loading <br> | 318 | are loading <br> |
319 | the mesh from an .x file which already contains a color map so we do | 319 | the mesh from an .x file which already contains a color map so we do |
320 | not need to load it manually. But the sphere is a little bit too small | 320 | not need to load it manually. But the sphere is a little bit too small |
321 | for our needs, so we scale it by the factor 50.<br> | 321 | for our needs, so we scale it by the factor 50.<br> |
322 | <br> | 322 | <br> |
323 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 323 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
324 | <tr> | 324 | <tr> |
325 | <td> <pre>// add earth sphere | 325 | <td> <pre>// add earth sphere |
326 | 326 | ||
327 | scene::IAnimatedMesh* earthMesh = smgr->getMesh("../../media/earth.x"); | 327 | scene::IAnimatedMesh* earthMesh = smgr->getMesh("../../media/earth.x"); |
328 | if (earthMesh) | 328 | if (earthMesh) |
329 | { | 329 | { |
330 | // create mesh copy with tangent informations from original earth.x mesh | 330 | // create mesh copy with tangent informations from original earth.x mesh |
331 | scene::IMesh* tangentSphereMesh = | 331 | scene::IMesh* tangentSphereMesh = |
332 | smgr->getMeshManipulator()->createMeshWithTangents(earthMesh->getMesh(0)); | 332 | smgr->getMeshManipulator()->createMeshWithTangents(earthMesh->getMesh(0)); |
333 | 333 | ||
334 | // set the alpha value of all vertices to 200 | 334 | // set the alpha value of all vertices to 200 |
335 | smgr->getMeshManipulator()->setVertexColorAlpha(tangentSphereMesh, 200); | 335 | smgr->getMeshManipulator()->setVertexColorAlpha(tangentSphereMesh, 200); |
336 | 336 | ||
337 | // scale the mesh by factor 50 | 337 | // scale the mesh by factor 50 |
338 | smgr->getMeshManipulator()->scaleMesh( | 338 | smgr->getMeshManipulator()->scaleMesh( |
339 | tangentSphereMesh, core::vector3df(50,50,50)); | 339 | tangentSphereMesh, core::vector3df(50,50,50)); |
340 | 340 | ||
341 | // create mesh scene node | 341 | // create mesh scene node |
342 | scene::ISceneNode* sphere = smgr->addMeshSceneNode(tangentSphereMesh); | 342 | scene::ISceneNode* sphere = smgr->addMeshSceneNode(tangentSphereMesh); |
343 | sphere->setPosition(core::vector3df(-70,130,45)); | 343 | sphere->setPosition(core::vector3df(-70,130,45)); |
344 | 344 | ||
345 | // load heightmap, create normal map from it and set it | 345 | // load heightmap, create normal map from it and set it |
346 | video::ITexture* earthNormalMap = driver->getTexture("../../media/earthbump.bmp"); | 346 | video::ITexture* earthNormalMap = driver->getTexture("../../media/earthbump.bmp"); |
347 | driver->makeNormalMapTexture(earthNormalMap, 20.0f); | 347 | driver->makeNormalMapTexture(earthNormalMap, 20.0f); |
348 | sphere->setMaterialTexture(1, earthNormalMap); | 348 | sphere->setMaterialTexture(1, earthNormalMap); |
349 | 349 | ||
350 | // adjust material settings | 350 | // adjust material settings |
351 | sphere->setMaterialFlag(video::EMF_FOG_ENABLE, true); | 351 | sphere->setMaterialFlag(video::EMF_FOG_ENABLE, true); |
352 | sphere->setMaterialType(video::EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA); | 352 | sphere->setMaterialType(video::EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA); |
353 | 353 | ||
354 | // add rotation animator | 354 | // add rotation animator |
355 | scene::ISceneNodeAnimator* anim = | 355 | scene::ISceneNodeAnimator* anim = |
356 | smgr->createRotationAnimator(core::vector3df(0,0.1f,0)); | 356 | smgr->createRotationAnimator(core::vector3df(0,0.1f,0)); |
357 | sphere->addAnimator(anim); | 357 | sphere->addAnimator(anim); |
358 | anim->drop(); | 358 | anim->drop(); |
359 | 359 | ||
360 | // drop mesh because we created it with a create.. call. | 360 | // drop mesh because we created it with a create.. call. |
361 | tangentSphereMesh->drop(); | 361 | tangentSphereMesh->drop(); |
362 | }</pre></td> | 362 | }</pre></td> |
363 | </tr> | 363 | </tr> |
364 | </table> | 364 | </table> |
365 | <br> | 365 | <br> |
366 | Per pixel lighted materials only look cool when there are moving lights. | 366 | Per pixel lighted materials only look cool when there are moving lights. |
367 | So we add some. And because moving lights alone are so boring, we add | 367 | So we add some. And because moving lights alone are so boring, we add |
368 | billboards <br> | 368 | billboards <br> |
369 | to them, and a whole particle system to one of them. We start with the | 369 | to them, and a whole particle system to one of them. We start with the |
370 | first light which is red and has only the billboard attached.<br> | 370 | first light which is red and has only the billboard attached.<br> |
371 | <br> | 371 | <br> |
372 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 372 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
373 | <tr> | 373 | <tr> |
374 | <td> <pre>// add light 1 (nearly red) | 374 | <td> <pre>// add light 1 (nearly red) |
375 | scene::ILightSceneNode* light1 = | 375 | scene::ILightSceneNode* light1 = |
376 | smgr->addLightSceneNode(0, core::vector3df(0,0,0), | 376 | smgr->addLightSceneNode(0, core::vector3df(0,0,0), |
377 | video::SColorf(0.5f, 1.0f, 0.5f, 0.0f), 200.0f); | 377 | video::SColorf(0.5f, 1.0f, 0.5f, 0.0f), 200.0f); |
378 | 378 | ||
379 | // add fly circle animator to light 1 | 379 | // add fly circle animator to light 1 |
380 | scene::ISceneNodeAnimator* anim = | 380 | scene::ISceneNodeAnimator* anim = |
381 | smgr->createFlyCircleAnimator (core::vector3df(50,300,0),190.0f, -0.003f); | 381 | smgr->createFlyCircleAnimator (core::vector3df(50,300,0),190.0f, -0.003f); |
382 | light1->addAnimator(anim); | 382 | light1->addAnimator(anim); |
383 | anim->drop(); | 383 | anim->drop(); |
384 | 384 | ||
385 | // attach billboard to the light | 385 | // attach billboard to the light |
386 | scene::ISceneNode* bill = | 386 | scene::ISceneNode* bill = |
387 | smgr->addBillboardSceneNode(light1, core::dimension2d<f32>(60, 60)); | 387 | smgr->addBillboardSceneNode(light1, core::dimension2d<f32>(60, 60)); |
388 | 388 | ||
389 | bill->setMaterialFlag(video::EMF_LIGHTING, false); | 389 | bill->setMaterialFlag(video::EMF_LIGHTING, false); |
390 | bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); | 390 | bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); |
391 | bill->setMaterialTexture(0, driver->getTexture("../../media/particlered.bmp"));</pre></td> | 391 | bill->setMaterialTexture(0, driver->getTexture("../../media/particlered.bmp"));</pre></td> |
392 | </tr> | 392 | </tr> |
393 | </table> | 393 | </table> |
394 | <br> | 394 | <br> |
395 | Now the same again, with the second light. The difference is that we | 395 | Now the same again, with the second light. The difference is that we |
396 | add a particle system to it too. And because the light moves, the particles | 396 | add a particle system to it too. And because the light moves, the particles |
397 | of the particlesystem will follow. If you want to know more about how | 397 | of the particlesystem will follow. If you want to know more about how |
398 | particle systems are created in Irrlicht, take a look at the specialFx | 398 | particle systems are created in Irrlicht, take a look at the specialFx |
399 | example.<br> | 399 | example.<br> |
400 | Maybe you will have noticed that we only add 2 lights, this has a simple | 400 | Maybe you will have noticed that we only add 2 lights, this has a simple |
401 | reason: The low end version of this material was written in ps1.1 and | 401 | reason: The low end version of this material was written in ps1.1 and |
402 | vs1.1, which doesn't allow more lights. You could add a third light | 402 | vs1.1, which doesn't allow more lights. You could add a third light |
403 | to the scene, but it won't be used to shade the walls. But of course, | 403 | to the scene, but it won't be used to shade the walls. But of course, |
404 | this will change in future versions of Irrlicht were higher versions | 404 | this will change in future versions of Irrlicht were higher versions |
405 | of pixel/vertex shaders will be implemented too.<br> | 405 | of pixel/vertex shaders will be implemented too.<br> |
406 | <br> | 406 | <br> |
407 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 407 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
408 | <tr> | 408 | <tr> |
409 | <td> <pre>// add light 2 (gray) | 409 | <td> <pre>// add light 2 (gray) |
410 | scene::ISceneNode* light2 = | 410 | scene::ISceneNode* light2 = |
411 | smgr->addLightSceneNode(0, core::vector3df(0,0,0), | 411 | smgr->addLightSceneNode(0, core::vector3df(0,0,0), |
412 | video::SColorf(1.0f, 0.2f, 0.2f, 0.0f), 200.0f); | 412 | video::SColorf(1.0f, 0.2f, 0.2f, 0.0f), 200.0f); |
413 | 413 | ||
414 | // add fly circle animator to light 2 | 414 | // add fly circle animator to light 2 |
415 | anim = smgr->createFlyCircleAnimator (core::vector3df(0,150,0),200.0f); | 415 | anim = smgr->createFlyCircleAnimator (core::vector3df(0,150,0),200.0f); |
416 | light2->addAnimator(anim); | 416 | light2->addAnimator(anim); |
417 | anim->drop(); | 417 | anim->drop(); |
418 | 418 | ||
419 | // attach billboard to light | 419 | // attach billboard to light |
420 | bill = smgr->addBillboardSceneNode(light2, core::dimension2d<f32>(120, 120)); | 420 | bill = smgr->addBillboardSceneNode(light2, core::dimension2d<f32>(120, 120)); |
421 | bill->setMaterialFlag(video::EMF_LIGHTING, false); | 421 | bill->setMaterialFlag(video::EMF_LIGHTING, false); |
422 | bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); | 422 | bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR); |
423 | bill->setMaterialTexture(0, driver->getTexture("../../media/particlewhite.bmp")); | 423 | bill->setMaterialTexture(0, driver->getTexture("../../media/particlewhite.bmp")); |
424 | 424 | ||
425 | // add particle system | 425 | // add particle system |
426 | scene::IParticleSystemSceneNode* ps = | 426 | scene::IParticleSystemSceneNode* ps = |
427 | smgr->addParticleSystemSceneNode(false, light2); | 427 | smgr->addParticleSystemSceneNode(false, light2); |
428 | 428 | ||
429 | ps->setParticleSize(core::dimension2d<f32>(30.0f, 40.0f)); | 429 | ps->setParticleSize(core::dimension2d<f32>(30.0f, 40.0f)); |
430 | 430 | ||
431 | // create and set emitter | 431 | // create and set emitter |
432 | scene::IParticleEmitter* em = ps->createBoxEmitter( | 432 | scene::IParticleEmitter* em = ps->createBoxEmitter( |
433 | core::aabbox3d<f32>(-3,0,-3,3,1,3), | 433 | core::aabbox3d<f32>(-3,0,-3,3,1,3), |
434 | core::vector3df(0.0f,0.03f,0.0f), | 434 | core::vector3df(0.0f,0.03f,0.0f), |
435 | 80,100, | 435 | 80,100, |
436 | video::SColor(0,255,255,255), video::SColor(0,255,255,255), | 436 | video::SColor(0,255,255,255), video::SColor(0,255,255,255), |
437 | 400,1100); | 437 | 400,1100); |
438 | ps->setEmitter(em); | 438 | ps->setEmitter(em); |
439 | em->drop(); | 439 | em->drop(); |
440 | 440 | ||
441 | // create and set affector | 441 | // create and set affector |
442 | scene::IParticleAffector* paf = ps->createFadeOutParticleAffector(); | 442 | scene::IParticleAffector* paf = ps->createFadeOutParticleAffector(); |
443 | ps->addAffector(paf); | 443 | ps->addAffector(paf); |
444 | paf->drop(); | 444 | paf->drop(); |
445 | 445 | ||
446 | // adjust some material settings | 446 | // adjust some material settings |
447 | ps->setMaterialFlag(video::EMF_LIGHTING, false); | 447 | ps->setMaterialFlag(video::EMF_LIGHTING, false); |
448 | ps->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp")); | 448 | ps->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp")); |
449 | ps->setMaterialType(video::EMT_TRANSPARENT_VERTEX_ALPHA); | 449 | ps->setMaterialType(video::EMT_TRANSPARENT_VERTEX_ALPHA); |
450 | 450 | ||
451 | 451 | ||
452 | MyEventReceiver receiver(room, env, driver); | 452 | MyEventReceiver receiver(room, env, driver); |
453 | device->setEventReceiver(&receiver);</pre></td> | 453 | device->setEventReceiver(&receiver);</pre></td> |
454 | </tr> | 454 | </tr> |
455 | </table> | 455 | </table> |
456 | <br> | 456 | <br> |
457 | Finally, draw everything. That's it.<br> | 457 | Finally, draw everything. That's it.<br> |
458 | <br> | 458 | <br> |
459 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> | 459 | <table width="95%" border="0" cellspacing="2" cellpadding="0" bgcolor="#CCCCCC" align="center"> |
460 | <tr> | 460 | <tr> |
461 | <td> <pre>int lastFPS = -1; | 461 | <td> <pre>int lastFPS = -1; |
462 | 462 | ||
463 | while(device->run()) | 463 | while(device->run()) |
464 | if (device->isWindowActive()) | 464 | if (device->isWindowActive()) |
465 | { | 465 | { |
466 | driver->beginScene(true, true, 0); | 466 | driver->beginScene(true, true, 0); |
467 | 467 | ||
468 | smgr->drawAll(); | 468 | smgr->drawAll(); |
469 | env->drawAll(); | 469 | env->drawAll(); |
470 | 470 | ||
471 | driver->endScene(); | 471 | driver->endScene(); |
472 | 472 | ||
473 | int fps = driver->getFPS(); | 473 | int fps = driver->getFPS(); |
474 | 474 | ||
475 | if (lastFPS != fps) | 475 | if (lastFPS != fps) |
476 | { | 476 | { |
477 | core::stringw str = L"Per pixel lighting example - Irrlicht Engine ["; | 477 | core::stringw str = L"Per pixel lighting example - Irrlicht Engine ["; |
478 | str += driver->getName(); | 478 | str += driver->getName(); |
479 | str += "] FPS:"; | 479 | str += "] FPS:"; |
480 | str += fps; | 480 | str += fps; |
481 | 481 | ||
482 | device->setWindowCaption(str.c_str()); | 482 | device->setWindowCaption(str.c_str()); |
483 | lastFPS = fps; | 483 | lastFPS = fps; |
484 | } | 484 | } |
485 | } | 485 | } |
486 | 486 | ||
487 | device->drop(); | 487 | device->drop(); |
488 | 488 | ||
489 | return 0; | 489 | return 0; |
490 | } | 490 | } |
491 | </pre></td> | 491 | </pre></td> |
492 | </tr> | 492 | </tr> |
493 | </table> | 493 | </table> |
494 | <br> | 494 | <br> |
495 | </div> | 495 | </div> |
496 | </div> | 496 | </div> |
497 | </td> | 497 | </td> |
498 | </tr> | 498 | </tr> |
499 | </table> | 499 | </table> |
500 | <p> </p> | 500 | <p> </p> |
501 | </body> | 501 | </body> |
502 | </html> | 502 | </html> |