From 0225c9335aa4a677829cb2865f6f83a385d04947 Mon Sep 17 00:00:00 2001
From: jean-claude iehl <jean-claude.iehl@liris.cnrs.fr>
Date: Wed, 13 Mar 2024 00:00:12 +0100
Subject: [PATCH] visual studio 2022...

---
 code/build/ao.vcxproj             | 134 ++++++++++++++++++++++++++++++
 code/build/ao.vcxproj.filters     | 117 ++++++++++++++++++++++++++
 code/build/ao.vcxproj.user        |  11 +++
 code/build/errors.vcxproj         | 133 +++++++++++++++++++++++++++++
 code/build/errors.vcxproj.filters | 114 +++++++++++++++++++++++++
 code/build/errors.vcxproj.user    |  11 +++
 code/build/gKit3.sln              |  32 +++++++
 code/build/path.vcxproj           | 134 ++++++++++++++++++++++++++++++
 code/build/path.vcxproj.filters   | 117 ++++++++++++++++++++++++++
 code/build/path.vcxproj.user      |  11 +++
 code/projects/sobol_matrices.h    |   7 +-
 code/src/gltf/bvh.h               |   4 +-
 12 files changed, 822 insertions(+), 3 deletions(-)
 create mode 100644 code/build/ao.vcxproj
 create mode 100644 code/build/ao.vcxproj.filters
 create mode 100644 code/build/ao.vcxproj.user
 create mode 100644 code/build/errors.vcxproj
 create mode 100644 code/build/errors.vcxproj.filters
 create mode 100644 code/build/errors.vcxproj.user
 create mode 100644 code/build/gKit3.sln
 create mode 100644 code/build/path.vcxproj
 create mode 100644 code/build/path.vcxproj.filters
 create mode 100644 code/build/path.vcxproj.user

diff --git a/code/build/ao.vcxproj b/code/build/ao.vcxproj
new file mode 100644
index 0000000..ac4d931
--- /dev/null
+++ b/code/build/ao.vcxproj
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="debug|x64">
+      <Configuration>debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="release|x64">
+      <Configuration>release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{35775900-2103-880B-8AB1-880B765C880B}</ProjectGuid>
+    <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>ao</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v143</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v143</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+    <OutDir>..\bin\</OutDir>
+    <IntDir>obj\debug\ao\</IntDir>
+    <TargetName>ao</TargetName>
+    <TargetExt>.exe</TargetExt>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>..\bin\</OutDir>
+    <IntDir>obj\release\ao\</IntDir>
+    <TargetName>ao</TargetName>
+    <TargetExt>.exe</TargetExt>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DisableSpecificWarnings>4244;4305;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <PreprocessorDefinitions>DEBUG;WIN32;_USE_MATH_DEFINES;_CRT_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>..;..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <Optimization>Disabled</Optimization>
+      <MinimalRebuild>false</MinimalRebuild>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <ExternalWarningLevel>Level3</ExternalWarningLevel>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <ClCompile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DisableSpecificWarnings>4244;4305;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <PreprocessorDefinitions>WIN32;_USE_MATH_DEFINES;_CRT_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>..;..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <MinimalRebuild>false</MinimalRebuild>
+      <StringPooling>true</StringPooling>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <ExternalWarningLevel>Level3</ExternalWarningLevel>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\src\color.h" />
+    <ClInclude Include="..\src\files.h" />
+    <ClInclude Include="..\src\gltf\brdf.h" />
+    <ClInclude Include="..\src\gltf\bvh.h" />
+    <ClInclude Include="..\src\gltf\cgltf.h" />
+    <ClInclude Include="..\src\gltf\fresnel.h" />
+    <ClInclude Include="..\src\gltf\gltf.h" />
+    <ClInclude Include="..\src\gltf\scene.h" />
+    <ClInclude Include="..\src\gltf\sources.h" />
+    <ClInclude Include="..\src\gltf\texture.h" />
+    <ClInclude Include="..\src\image.h" />
+    <ClInclude Include="..\src\image_io.h" />
+    <ClInclude Include="..\src\mat.h" />
+    <ClInclude Include="..\src\orbiter.h" />
+    <ClInclude Include="..\src\stb_image.h" />
+    <ClInclude Include="..\src\stb_image_write.h" />
+    <ClInclude Include="..\src\vec.h" />
+    <ClInclude Include="..\src\wavefront\materials.h" />
+    <ClInclude Include="..\src\wavefront\mesh_io.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\projects\ao.cpp" />
+    <ClCompile Include="..\projects\sobol_matrices.cpp" />
+    <ClCompile Include="..\src\color.cpp" />
+    <ClCompile Include="..\src\files.cpp" />
+    <ClCompile Include="..\src\gltf\cgltf.cpp" />
+    <ClCompile Include="..\src\gltf\fresnel.cpp" />
+    <ClCompile Include="..\src\gltf\gltf.cpp" />
+    <ClCompile Include="..\src\gltf\scene.cpp" />
+    <ClCompile Include="..\src\image_io.cpp" />
+    <ClCompile Include="..\src\mat.cpp" />
+    <ClCompile Include="..\src\orbiter.cpp" />
+    <ClCompile Include="..\src\vec.cpp" />
+    <ClCompile Include="..\src\wavefront\mesh_io.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/code/build/ao.vcxproj.filters b/code/build/ao.vcxproj.filters
new file mode 100644
index 0000000..ffd76ca
--- /dev/null
+++ b/code/build/ao.vcxproj.filters
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="projects">
+      <UniqueIdentifier>{6F54932A-5B21-EE35-843A-DCDD706623C4}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src">
+      <UniqueIdentifier>{2DAB880B-99B4-887C-2230-9F7C8E38947C}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\gltf">
+      <UniqueIdentifier>{C98430CF-B551-8BDA-DE6A-7982CA96C068}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\wavefront">
+      <UniqueIdentifier>{1853084B-8413-8481-4D4E-CDFEB9CDC85D}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\src\color.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\files.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\brdf.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\bvh.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\cgltf.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\fresnel.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\gltf.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\scene.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\sources.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\texture.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\image.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\image_io.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\mat.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\orbiter.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\stb_image.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\stb_image_write.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vec.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\wavefront\materials.h">
+      <Filter>src\wavefront</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\wavefront\mesh_io.h">
+      <Filter>src\wavefront</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\projects\ao.cpp">
+      <Filter>projects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\projects\sobol_matrices.cpp">
+      <Filter>projects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\color.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\files.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\cgltf.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\fresnel.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\gltf.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\scene.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\image_io.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\mat.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\orbiter.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vec.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\wavefront\mesh_io.cpp">
+      <Filter>src\wavefront</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/code/build/ao.vcxproj.user b/code/build/ao.vcxproj.user
new file mode 100644
index 0000000..25b4299
--- /dev/null
+++ b/code/build/ao.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <LocalDebuggerWorkingDirectory>..</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <LocalDebuggerWorkingDirectory>..</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/code/build/errors.vcxproj b/code/build/errors.vcxproj
new file mode 100644
index 0000000..cc59d96
--- /dev/null
+++ b/code/build/errors.vcxproj
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="debug|x64">
+      <Configuration>debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="release|x64">
+      <Configuration>release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{4260C7FB-2E02-F2D1-17BD-052603FE7822}</ProjectGuid>
+    <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>errors</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v143</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v143</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+    <OutDir>..\bin\</OutDir>
+    <IntDir>obj\debug\errors\</IntDir>
+    <TargetName>errors</TargetName>
+    <TargetExt>.exe</TargetExt>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>..\bin\</OutDir>
+    <IntDir>obj\release\errors\</IntDir>
+    <TargetName>errors</TargetName>
+    <TargetExt>.exe</TargetExt>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DisableSpecificWarnings>4244;4305;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <PreprocessorDefinitions>DEBUG;WIN32;_USE_MATH_DEFINES;_CRT_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>..;..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <Optimization>Disabled</Optimization>
+      <MinimalRebuild>false</MinimalRebuild>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <ExternalWarningLevel>Level3</ExternalWarningLevel>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <ClCompile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DisableSpecificWarnings>4244;4305;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <PreprocessorDefinitions>WIN32;_USE_MATH_DEFINES;_CRT_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>..;..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <MinimalRebuild>false</MinimalRebuild>
+      <StringPooling>true</StringPooling>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <ExternalWarningLevel>Level3</ExternalWarningLevel>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\src\color.h" />
+    <ClInclude Include="..\src\files.h" />
+    <ClInclude Include="..\src\gltf\brdf.h" />
+    <ClInclude Include="..\src\gltf\bvh.h" />
+    <ClInclude Include="..\src\gltf\cgltf.h" />
+    <ClInclude Include="..\src\gltf\fresnel.h" />
+    <ClInclude Include="..\src\gltf\gltf.h" />
+    <ClInclude Include="..\src\gltf\scene.h" />
+    <ClInclude Include="..\src\gltf\sources.h" />
+    <ClInclude Include="..\src\gltf\texture.h" />
+    <ClInclude Include="..\src\image.h" />
+    <ClInclude Include="..\src\image_io.h" />
+    <ClInclude Include="..\src\mat.h" />
+    <ClInclude Include="..\src\orbiter.h" />
+    <ClInclude Include="..\src\stb_image.h" />
+    <ClInclude Include="..\src\stb_image_write.h" />
+    <ClInclude Include="..\src\vec.h" />
+    <ClInclude Include="..\src\wavefront\materials.h" />
+    <ClInclude Include="..\src\wavefront\mesh_io.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\projects\errors.cpp" />
+    <ClCompile Include="..\src\color.cpp" />
+    <ClCompile Include="..\src\files.cpp" />
+    <ClCompile Include="..\src\gltf\cgltf.cpp" />
+    <ClCompile Include="..\src\gltf\fresnel.cpp" />
+    <ClCompile Include="..\src\gltf\gltf.cpp" />
+    <ClCompile Include="..\src\gltf\scene.cpp" />
+    <ClCompile Include="..\src\image_io.cpp" />
+    <ClCompile Include="..\src\mat.cpp" />
+    <ClCompile Include="..\src\orbiter.cpp" />
+    <ClCompile Include="..\src\vec.cpp" />
+    <ClCompile Include="..\src\wavefront\mesh_io.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/code/build/errors.vcxproj.filters b/code/build/errors.vcxproj.filters
new file mode 100644
index 0000000..b7cf097
--- /dev/null
+++ b/code/build/errors.vcxproj.filters
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="projects">
+      <UniqueIdentifier>{6F54932A-5B21-EE35-843A-DCDD706623C4}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src">
+      <UniqueIdentifier>{2DAB880B-99B4-887C-2230-9F7C8E38947C}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\gltf">
+      <UniqueIdentifier>{C98430CF-B551-8BDA-DE6A-7982CA96C068}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\wavefront">
+      <UniqueIdentifier>{1853084B-8413-8481-4D4E-CDFEB9CDC85D}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\src\color.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\files.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\brdf.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\bvh.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\cgltf.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\fresnel.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\gltf.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\scene.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\sources.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\texture.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\image.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\image_io.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\mat.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\orbiter.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\stb_image.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\stb_image_write.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vec.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\wavefront\materials.h">
+      <Filter>src\wavefront</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\wavefront\mesh_io.h">
+      <Filter>src\wavefront</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\projects\errors.cpp">
+      <Filter>projects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\color.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\files.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\cgltf.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\fresnel.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\gltf.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\scene.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\image_io.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\mat.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\orbiter.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vec.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\wavefront\mesh_io.cpp">
+      <Filter>src\wavefront</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/code/build/errors.vcxproj.user b/code/build/errors.vcxproj.user
new file mode 100644
index 0000000..25b4299
--- /dev/null
+++ b/code/build/errors.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <LocalDebuggerWorkingDirectory>..</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <LocalDebuggerWorkingDirectory>..</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/code/build/gKit3.sln b/code/build/gKit3.sln
new file mode 100644
index 0000000..c1d9888
--- /dev/null
+++ b/code/build/gKit3.sln
@@ -0,0 +1,32 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ao", "ao.vcxproj", "{35775900-2103-880B-8AB1-880B765C880B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "errors", "errors.vcxproj", "{4260C7FB-2E02-F2D1-17BD-052603FE7822}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "path", "path.vcxproj", "{F2259C7C-DE5C-9D0D-8749-8310735F190F}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		debug|x64 = debug|x64
+		release|x64 = release|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{35775900-2103-880B-8AB1-880B765C880B}.debug|x64.ActiveCfg = debug|x64
+		{35775900-2103-880B-8AB1-880B765C880B}.debug|x64.Build.0 = debug|x64
+		{35775900-2103-880B-8AB1-880B765C880B}.release|x64.ActiveCfg = release|x64
+		{35775900-2103-880B-8AB1-880B765C880B}.release|x64.Build.0 = release|x64
+		{4260C7FB-2E02-F2D1-17BD-052603FE7822}.debug|x64.ActiveCfg = debug|x64
+		{4260C7FB-2E02-F2D1-17BD-052603FE7822}.debug|x64.Build.0 = debug|x64
+		{4260C7FB-2E02-F2D1-17BD-052603FE7822}.release|x64.ActiveCfg = release|x64
+		{4260C7FB-2E02-F2D1-17BD-052603FE7822}.release|x64.Build.0 = release|x64
+		{F2259C7C-DE5C-9D0D-8749-8310735F190F}.debug|x64.ActiveCfg = debug|x64
+		{F2259C7C-DE5C-9D0D-8749-8310735F190F}.debug|x64.Build.0 = debug|x64
+		{F2259C7C-DE5C-9D0D-8749-8310735F190F}.release|x64.ActiveCfg = release|x64
+		{F2259C7C-DE5C-9D0D-8749-8310735F190F}.release|x64.Build.0 = release|x64
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/code/build/path.vcxproj b/code/build/path.vcxproj
new file mode 100644
index 0000000..fce7693
--- /dev/null
+++ b/code/build/path.vcxproj
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="debug|x64">
+      <Configuration>debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="release|x64">
+      <Configuration>release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{F2259C7C-DE5C-9D0D-8749-8310735F190F}</ProjectGuid>
+    <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>path</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v143</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v143</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+    <OutDir>..\bin\</OutDir>
+    <IntDir>obj\debug\path\</IntDir>
+    <TargetName>path</TargetName>
+    <TargetExt>.exe</TargetExt>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>..\bin\</OutDir>
+    <IntDir>obj\release\path\</IntDir>
+    <TargetName>path</TargetName>
+    <TargetExt>.exe</TargetExt>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DisableSpecificWarnings>4244;4305;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <PreprocessorDefinitions>DEBUG;WIN32;_USE_MATH_DEFINES;_CRT_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>..;..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <Optimization>Disabled</Optimization>
+      <MinimalRebuild>false</MinimalRebuild>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <ExternalWarningLevel>Level3</ExternalWarningLevel>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <ClCompile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DisableSpecificWarnings>4244;4305;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <PreprocessorDefinitions>WIN32;_USE_MATH_DEFINES;_CRT_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>..;..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <MinimalRebuild>false</MinimalRebuild>
+      <StringPooling>true</StringPooling>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <ExternalWarningLevel>Level3</ExternalWarningLevel>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\src\color.h" />
+    <ClInclude Include="..\src\files.h" />
+    <ClInclude Include="..\src\gltf\brdf.h" />
+    <ClInclude Include="..\src\gltf\bvh.h" />
+    <ClInclude Include="..\src\gltf\cgltf.h" />
+    <ClInclude Include="..\src\gltf\fresnel.h" />
+    <ClInclude Include="..\src\gltf\gltf.h" />
+    <ClInclude Include="..\src\gltf\scene.h" />
+    <ClInclude Include="..\src\gltf\sources.h" />
+    <ClInclude Include="..\src\gltf\texture.h" />
+    <ClInclude Include="..\src\image.h" />
+    <ClInclude Include="..\src\image_io.h" />
+    <ClInclude Include="..\src\mat.h" />
+    <ClInclude Include="..\src\orbiter.h" />
+    <ClInclude Include="..\src\stb_image.h" />
+    <ClInclude Include="..\src\stb_image_write.h" />
+    <ClInclude Include="..\src\vec.h" />
+    <ClInclude Include="..\src\wavefront\materials.h" />
+    <ClInclude Include="..\src\wavefront\mesh_io.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\projects\path.cpp" />
+    <ClCompile Include="..\projects\sobol_matrices.cpp" />
+    <ClCompile Include="..\src\color.cpp" />
+    <ClCompile Include="..\src\files.cpp" />
+    <ClCompile Include="..\src\gltf\cgltf.cpp" />
+    <ClCompile Include="..\src\gltf\fresnel.cpp" />
+    <ClCompile Include="..\src\gltf\gltf.cpp" />
+    <ClCompile Include="..\src\gltf\scene.cpp" />
+    <ClCompile Include="..\src\image_io.cpp" />
+    <ClCompile Include="..\src\mat.cpp" />
+    <ClCompile Include="..\src\orbiter.cpp" />
+    <ClCompile Include="..\src\vec.cpp" />
+    <ClCompile Include="..\src\wavefront\mesh_io.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/code/build/path.vcxproj.filters b/code/build/path.vcxproj.filters
new file mode 100644
index 0000000..ad6619e
--- /dev/null
+++ b/code/build/path.vcxproj.filters
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="projects">
+      <UniqueIdentifier>{6F54932A-5B21-EE35-843A-DCDD706623C4}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src">
+      <UniqueIdentifier>{2DAB880B-99B4-887C-2230-9F7C8E38947C}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\gltf">
+      <UniqueIdentifier>{C98430CF-B551-8BDA-DE6A-7982CA96C068}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\wavefront">
+      <UniqueIdentifier>{1853084B-8413-8481-4D4E-CDFEB9CDC85D}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\src\color.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\files.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\brdf.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\bvh.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\cgltf.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\fresnel.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\gltf.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\scene.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\sources.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\gltf\texture.h">
+      <Filter>src\gltf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\image.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\image_io.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\mat.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\orbiter.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\stb_image.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\stb_image_write.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vec.h">
+      <Filter>src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\wavefront\materials.h">
+      <Filter>src\wavefront</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\wavefront\mesh_io.h">
+      <Filter>src\wavefront</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\projects\path.cpp">
+      <Filter>projects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\projects\sobol_matrices.cpp">
+      <Filter>projects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\color.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\files.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\cgltf.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\fresnel.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\gltf.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\gltf\scene.cpp">
+      <Filter>src\gltf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\image_io.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\mat.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\orbiter.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vec.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\wavefront\mesh_io.cpp">
+      <Filter>src\wavefront</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/code/build/path.vcxproj.user b/code/build/path.vcxproj.user
new file mode 100644
index 0000000..25b4299
--- /dev/null
+++ b/code/build/path.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+    <LocalDebuggerWorkingDirectory>..</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+    <LocalDebuggerWorkingDirectory>..</LocalDebuggerWorkingDirectory>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/code/projects/sobol_matrices.h b/code/projects/sobol_matrices.h
index 53aa319..1868a79 100644
--- a/code/projects/sobol_matrices.h
+++ b/code/projects/sobol_matrices.h
@@ -4,6 +4,7 @@
 #include <cassert>
 #include <cstdint>
 #include <array>
+#include <intrin.h>
 
 
 unsigned sobol_sample( const std::array<unsigned, 32>& m, unsigned n )
@@ -25,7 +26,11 @@ unsigned graycode( const unsigned i )
 unsigned trailing_zeroes( const unsigned i )
 {
     assert(i > 0);
-    return __builtin_ctz(i);
+    // return __builtin_ctz(i); // gcc
+
+    unsigned long b = 0;
+    _BitScanForward(&b, i); // vs 2022
+    return b;
 }
 
 unsigned sobol_sample_graycode( const std::array<unsigned, 32>& m, unsigned n, const unsigned prev )
diff --git a/code/src/gltf/bvh.h b/code/src/gltf/bvh.h
index 088a0da..9695a67 100644
--- a/code/src/gltf/bvh.h
+++ b/code/src/gltf/bvh.h
@@ -235,7 +235,7 @@ struct BVH
         }
         auto stop= std::chrono::high_resolution_clock::now();
         int cpu= std::chrono::duration_cast<std::chrono::milliseconds>(stop - start).count();
-        printf("BVH %dms, %lu triangles\n", cpu, primitives.size());
+        printf("BVH %dms, %u triangles\n", cpu, unsigned(primitives.size()));
         
         // re-organise les triangles
         for(unsigned i= 0; i < primitives.size(); i++)
@@ -454,7 +454,7 @@ protected:
         if(cost_index != -1)
         {
             Primitive *pm= std::partition( primitives.data() + begin, primitives.data() + end, 
-                [cost_axis, cost_index, cbounds, invd]( const Primitive &primitive ) 
+                [cost_axis, cost_index, cbounds, invd, bins_max]( const Primitive &primitive )
                 {
                     int b= (primitive.centroid(cost_axis) - cbounds.pmin(cost_axis)) * invd(cost_axis) * bins_max;
                     if(b < 0) b= 0;
-- 
GitLab