initial vc project
authorJohn Tsiombikas <nuclear@mutantstargoat.com>
Wed, 2 Nov 2016 21:36:06 +0000 (23:36 +0200)
committerJohn Tsiombikas <nuclear@mutantstargoat.com>
Wed, 2 Nov 2016 21:36:06 +0000 (23:36 +0200)
.gitignore
laserbrain_demo.sln [new file with mode: 0644]
laserbrain_demo.vcxproj [new file with mode: 0644]
laserbrain_demo.vcxproj.filters [new file with mode: 0644]
src/machine/machine.cc
src/texture.cc

index 6871807..e377c0e 100644 (file)
@@ -4,3 +4,7 @@
 demo
 data/
 .clang_complete
+*.suo
+*sdf
+Debug/
+Release/
diff --git a/laserbrain_demo.sln b/laserbrain_demo.sln
new file mode 100644 (file)
index 0000000..d7ed79f
--- /dev/null
@@ -0,0 +1,22 @@
+\r
+Microsoft Visual Studio Solution File, Format Version 12.00\r
+# Visual Studio 2013\r
+VisualStudioVersion = 12.0.40629.0\r
+MinimumVisualStudioVersion = 10.0.40219.1\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "laserbrain_demo", "laserbrain_demo.vcxproj", "{71A6DAF0-CBF6-4135-BE23-B3999E432EF6}"\r
+EndProject\r
+Global\r
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+               Debug|Win32 = Debug|Win32\r
+               Release|Win32 = Release|Win32\r
+       EndGlobalSection\r
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {71A6DAF0-CBF6-4135-BE23-B3999E432EF6}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {71A6DAF0-CBF6-4135-BE23-B3999E432EF6}.Debug|Win32.Build.0 = Debug|Win32\r
+               {71A6DAF0-CBF6-4135-BE23-B3999E432EF6}.Release|Win32.ActiveCfg = Release|Win32\r
+               {71A6DAF0-CBF6-4135-BE23-B3999E432EF6}.Release|Win32.Build.0 = Release|Win32\r
+       EndGlobalSection\r
+       GlobalSection(SolutionProperties) = preSolution\r
+               HideSolutionNode = FALSE\r
+       EndGlobalSection\r
+EndGlobal\r
diff --git a/laserbrain_demo.vcxproj b/laserbrain_demo.vcxproj
new file mode 100644 (file)
index 0000000..65d6e82
--- /dev/null
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="Debug|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+  </ItemGroup>\r
+  <PropertyGroup Label="Globals">\r
+    <ProjectGuid>{71A6DAF0-CBF6-4135-BE23-B3999E432EF6}</ProjectGuid>\r
+    <Keyword>Win32Proj</Keyword>\r
+    <RootNamespace>laserbrain_demo</RootNamespace>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <PlatformToolset>v120</PlatformToolset>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>false</UseDebugLibraries>\r
+    <PlatformToolset>v120</PlatformToolset>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+  <ImportGroup Label="ExtensionSettings">\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
+  <PropertyGroup Label="UserMacros" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <LinkIncremental>true</LinkIncremental>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <LinkIncremental>false</LinkIncremental>\r
+  </PropertyGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <ClCompile>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <Optimization>Disabled</Optimization>\r
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <DisableSpecificWarnings>4244;4305;4996</DisableSpecificWarnings>\r
+      <AdditionalIncludeDirectories>$(ProjectDir)\src;$(ProjectDir)\src\machine;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Console</SubSystem>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <AdditionalDependencies>opengl32.lib;freeglut.lib;glew32.lib;libgmath.lib;libvmath.lib;libimago2.lib;zlib.lib;libpng.lib;libjpeg.lib;libresman.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <ClCompile>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <Optimization>MaxSpeed</Optimization>\r
+      <FunctionLevelLinking>true</FunctionLevelLinking>\r
+      <IntrinsicFunctions>true</IntrinsicFunctions>\r
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <DisableSpecificWarnings>4244;4305;4996</DisableSpecificWarnings>\r
+      <AdditionalIncludeDirectories>$(ProjectDir)\src;$(ProjectDir)\src\machine;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Console</SubSystem>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+      <OptimizeReferences>true</OptimizeReferences>\r
+      <AdditionalDependencies>opengl32.lib;freeglut.lib;glew32.lib;libgmath.lib;libvmath.lib;libimago2.lib;zlib.lib;libpng.lib;libjpeg.lib;libresman.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <ItemGroup>\r
+    <ClCompile Include="src\app.cc" />\r
+    <ClCompile Include="src\datamap.cc" />\r
+    <ClCompile Include="src\geom.cc" />\r
+    <ClCompile Include="src\image.cc" />\r
+    <ClCompile Include="src\machine\gear.cc" />\r
+    <ClCompile Include="src\machine\machine.cc" />\r
+    <ClCompile Include="src\machine\mparser.cc" />\r
+    <ClCompile Include="src\main.cc" />\r
+    <ClCompile Include="src\material.cc" />\r
+    <ClCompile Include="src\mesh.cc" />\r
+    <ClCompile Include="src\meshgen.cc" />\r
+    <ClCompile Include="src\object.cc" />\r
+    <ClCompile Include="src\objmesh.cc" />\r
+    <ClCompile Include="src\scene.cc" />\r
+    <ClCompile Include="src\sceneload.cc" />\r
+    <ClCompile Include="src\sdr.c" />\r
+    <ClCompile Include="src\shadow.cc" />\r
+    <ClCompile Include="src\snode.cc" />\r
+    <ClCompile Include="src\texture.cc" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ClInclude Include="src\app.h" />\r
+    <ClInclude Include="src\datamap.h" />\r
+    <ClInclude Include="src\dataset.h" />\r
+    <ClInclude Include="src\exhibit.h" />\r
+    <ClInclude Include="src\geom.h" />\r
+    <ClInclude Include="src\image.h" />\r
+    <ClInclude Include="src\machine\gear.h" />\r
+    <ClInclude Include="src\machine\machine.h" />\r
+    <ClInclude Include="src\machine\mparser.h" />\r
+    <ClInclude Include="src\material.h" />\r
+    <ClInclude Include="src\mech_exhibit.h" />\r
+    <ClInclude Include="src\mesh.h" />\r
+    <ClInclude Include="src\meshgen.h" />\r
+    <ClInclude Include="src\object.h" />\r
+    <ClInclude Include="src\objmesh.h" />\r
+    <ClInclude Include="src\opengl.h" />\r
+    <ClInclude Include="src\scene.h" />\r
+    <ClInclude Include="src\sceneload.h" />\r
+    <ClInclude Include="src\sdr.h" />\r
+    <ClInclude Include="src\shadow.h" />\r
+    <ClInclude Include="src\snode.h" />\r
+    <ClInclude Include="src\texture.h" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="sdr\shadow-notex.p.glsl" />\r
+    <None Include="sdr\shadow.v.glsl" />\r
+    <None Include="sdr\skydome.p.glsl" />\r
+    <None Include="sdr\skydome.v.glsl" />\r
+    <None Include="sdr\test.p.glsl" />\r
+    <None Include="sdr\test.v.glsl" />\r
+    <None Include="src\dataset.inl" />\r
+  </ItemGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+  <ImportGroup Label="ExtensionTargets">\r
+  </ImportGroup>\r
+</Project>
\ No newline at end of file
diff --git a/laserbrain_demo.vcxproj.filters b/laserbrain_demo.vcxproj.filters
new file mode 100644 (file)
index 0000000..43d5a0d
--- /dev/null
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <ItemGroup>\r
+    <Filter Include="src">\r
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\r
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;h</Extensions>\r
+    </Filter>\r
+    <Filter Include="src\machine">\r
+      <UniqueIdentifier>{b07e85b5-1bef-4321-9140-79e9c1b6de3d}</UniqueIdentifier>\r
+    </Filter>\r
+    <Filter Include="sdr">\r
+      <UniqueIdentifier>{8e6a8961-784c-4356-9074-885fb1660b86}</UniqueIdentifier>\r
+    </Filter>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ClCompile Include="src\app.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\datamap.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\geom.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\image.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\main.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\material.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\mesh.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\meshgen.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\object.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\objmesh.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\scene.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\sceneload.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\sdr.c">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\shadow.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\snode.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\texture.cc">\r
+      <Filter>src</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\machine\gear.cc">\r
+      <Filter>src\machine</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\machine\machine.cc">\r
+      <Filter>src\machine</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="src\machine\mparser.cc">\r
+      <Filter>src\machine</Filter>\r
+    </ClCompile>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ClInclude Include="src\app.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\datamap.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\dataset.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\exhibit.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\geom.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\image.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\material.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\mech_exhibit.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\mesh.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\meshgen.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\object.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\objmesh.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\opengl.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\scene.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\sceneload.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\sdr.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\shadow.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\snode.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\texture.h">\r
+      <Filter>src</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\machine\gear.h">\r
+      <Filter>src\machine</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\machine\machine.h">\r
+      <Filter>src\machine</Filter>\r
+    </ClInclude>\r
+    <ClInclude Include="src\machine\mparser.h">\r
+      <Filter>src\machine</Filter>\r
+    </ClInclude>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="src\dataset.inl">\r
+      <Filter>src</Filter>\r
+    </None>\r
+    <None Include="sdr\shadow.v.glsl">\r
+      <Filter>sdr</Filter>\r
+    </None>\r
+    <None Include="sdr\shadow-notex.p.glsl">\r
+      <Filter>sdr</Filter>\r
+    </None>\r
+    <None Include="sdr\skydome.p.glsl">\r
+      <Filter>sdr</Filter>\r
+    </None>\r
+    <None Include="sdr\skydome.v.glsl">\r
+      <Filter>sdr</Filter>\r
+    </None>\r
+    <None Include="sdr\test.p.glsl">\r
+      <Filter>sdr</Filter>\r
+    </None>\r
+    <None Include="sdr\test.v.glsl">\r
+      <Filter>sdr</Filter>\r
+    </None>\r
+  </ItemGroup>\r
+</Project>
\ No newline at end of file
index 441826e..191fe2f 100644 (file)
@@ -3,6 +3,7 @@
 #include <math.h>
 #include <float.h>
 #include <assert.h>
+#include <algorithm>
 #include "opengl.h"
 #include "machine.h"
 
index 5bf291d..45f9094 100644 (file)
@@ -459,7 +459,7 @@ TextureSet::TextureSet()
 
 Texture *TextureSet::get_texture(const char *name, TextureType type) const
 {
-       typename std::map<std::string, Texture*>::const_iterator iter = data.find(name);
+       std::map<std::string, Texture*>::const_iterator iter = data.find(name);
        if(iter != data.end()) {
                return iter->second;
        }