diff --git a/msvc/6/appMultiMaterialDemo.dsp b/msvc/6/appMultiMaterialDemo.dsp
new file mode 100644
index 000000000..e71d4ad34
--- /dev/null
+++ b/msvc/6/appMultiMaterialDemo.dsp
@@ -0,0 +1,185 @@
+# Microsoft Developer Studio Project File - Name="appMultiMaterialDemo" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=appMultiMaterialDemo - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "appMultiMaterialDemo.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "appMultiMaterialDemo.mak" CFG="appMultiMaterialDemo - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "appMultiMaterialDemo - Win32 DebugDoublePrecision" (based on "Win32 (x86) Console Application")
+!MESSAGE "appMultiMaterialDemo - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "appMultiMaterialDemo - Win32 ReleaseDoublePrecision" (based on "Win32 (x86) Console Application")
+!MESSAGE "appMultiMaterialDemo - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "appMultiMaterialDemo - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "release"
+# PROP BASE Intermediate_Dir "release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "..\..\out\release6\build\appMultiMaterialDemo\"
+# PROP Intermediate_Dir "..\..\out\release6\build\appMultiMaterialDemo\"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /vmb /vms /W3 /Gm /G5 /D "WIN32" /FD /c
+# ADD CPP /nologo /vmb /vms /W3 /Gm /G5 /FD /c /Gy /GF /MD /Ob2 /Og /Oi /Ot /Oy /D "_MT" /D "_MBCS" /D "NDEBUG" /D "_CONSOLE" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "WIN32" /I "." /I "..\.." /I "..\..\src" /I "..\..\Glut" /I "..\..\Demos\OpenGL" /I "..\..\Extras\ConvexHull"
+# ADD BASE MTL /nologo /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /mktyplib203 /o "NUL" /win32 /D "NDEBUG" /D "_CONSOLE" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE"
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /fo".\..\..\out\release6\build\appMultiMaterialDemo\appMultiMaterialDemo.res" /i "." /i "..\.." /i "..\..\src" /i "..\..\Glut" /i "..\..\Demos\OpenGL" /i "..\..\Extras\ConvexHull"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib /nologo /machine:I386
+# ADD LINK32 shell32.lib user32.lib gdi32.lib advapi32.lib glut32.lib /nologo /version:4.0 /machine:I386 /OPT:NOREF /out:"..\..\MultiMaterialDemo.exe" /subsystem:console /libpath:"..\..\Glut"
+
+!ELSEIF "$(CFG)" == "appMultiMaterialDemo - Win32 ReleaseDoublePrecision"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries
+# PROP BASE Output_Dir "release_dbl"
+# PROP BASE Intermediate_Dir "release_dbl"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries
+# PROP Output_Dir "..\..\out\release_dbl6\build\appMultiMaterialDemo\"
+# PROP Intermediate_Dir "..\..\out\release_dbl6\build\appMultiMaterialDemo\"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /vmb /vms /W3 /Gm /G5 /D "WIN32" /FD /c
+# ADD CPP /nologo /vmb /vms /W3 /Gm /G5 /FD /c /D "_MT" /D "_MBCS" /D "NDEBUG" /D "BT_USE_DOUBLE_PRECISION" /D "_CONSOLE" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "WIN32" /I "." /I "..\.." /I "..\..\src" /I "..\..\Glut" /I "..\..\Demos\OpenGL" /I "..\..\Extras\ConvexHull"
+# ADD BASE MTL /nologo /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /mktyplib203 /o "NUL" /win32 /D "NDEBUG" /D "BT_USE_DOUBLE_PRECISION" /D "_CONSOLE" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE"
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /fo".\..\..\out\release_dbl6\build\appMultiMaterialDemo\appMultiMaterialDemo.res" /i "." /i "..\.." /i "..\..\src" /i "..\..\Glut" /i "..\..\Demos\OpenGL" /i "..\..\Extras\ConvexHull"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib /nologo /machine:I386
+# ADD LINK32 shell32.lib user32.lib gdi32.lib advapi32.lib glut32.lib /nologo /version:4.0 /machine:I386 /out:"..\..\MultiMaterialDemo.exe" /subsystem:console /libpath:"..\..\Glut"
+
+!ELSEIF "$(CFG)" == "appMultiMaterialDemo - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "debug"
+# PROP BASE Intermediate_Dir "debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "..\..\out\debug6\build\appMultiMaterialDemo\"
+# PROP Intermediate_Dir "..\..\out\debug6\build\appMultiMaterialDemo\"
+# PROP Ignore_Export_Lib 1
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /vmb /vms /W3 /Gm /G5 /D "WIN32" /FD /c
+# ADD CPP /nologo /vmb /vms /W3 /Gm /G5 /FD /c /GR /MDd /ZI /Od /D "_MT" /D "_MBCS" /D "_DEBUG" /D "_CONSOLE" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "WIN32" /I "." /I "..\.." /I "..\..\src" /I "..\..\Glut" /I "..\..\Demos\OpenGL" /I "..\..\Extras\ConvexHull"
+# ADD BASE MTL /nologo /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /mktyplib203 /o "NUL" /win32 /D "_DEBUG" /D "_CONSOLE" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE"
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /fo".\..\..\out\debug6\build\appMultiMaterialDemo\appMultiMaterialDemo.res" /i "." /i "..\.." /i "..\..\src" /i "..\..\Glut" /i "..\..\Demos\OpenGL" /i "..\..\Extras\ConvexHull"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib /nologo /machine:I386
+# ADD LINK32 shell32.lib user32.lib gdi32.lib advapi32.lib glut32.lib /nologo /version:4.0 /machine:I386 /debug /pdbtype:sept /out:"..\..\MultiMaterialDemo.exe" /subsystem:console /libpath:"..\..\Glut"
+
+!ELSEIF "$(CFG)" == "appMultiMaterialDemo - Win32 DebugDoublePrecision"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries
+# PROP BASE Output_Dir "debug_dbl"
+# PROP BASE Intermediate_Dir "debug_dbl"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries
+# PROP Output_Dir "..\..\out\debug_dbl6\build\appMultiMaterialDemo\"
+# PROP Intermediate_Dir "..\..\out\debug_dbl6\build\appMultiMaterialDemo\"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /vmb /vms /W3 /Gm /G5 /D "WIN32" /FD /c
+# ADD CPP /nologo /vmb /vms /W3 /Gm /G5 /FD /c /D "_MT" /D "_MBCS" /D "_DEBUG" /D "BT_USE_DOUBLE_PRECISION" /D "_CONSOLE" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "WIN32" /I "." /I "..\.." /I "..\..\src" /I "..\..\Glut" /I "..\..\Demos\OpenGL" /I "..\..\Extras\ConvexHull"
+# ADD BASE MTL /nologo /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /mktyplib203 /o "NUL" /win32 /D "_DEBUG" /D "BT_USE_DOUBLE_PRECISION" /D "_CONSOLE" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE"
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /fo".\..\..\out\debug_dbl6\build\appMultiMaterialDemo\appMultiMaterialDemo.res" /i "." /i "..\.." /i "..\..\src" /i "..\..\Glut" /i "..\..\Demos\OpenGL" /i "..\..\Extras\ConvexHull"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib /nologo /machine:I386
+# ADD LINK32 shell32.lib user32.lib gdi32.lib advapi32.lib glut32.lib /nologo /version:4.0 /machine:I386 /out:"..\..\MultiMaterialDemo.exe" /subsystem:console /libpath:"..\..\Glut"
+
+!ENDIF
+
+# Begin Target
+
+# Name "appMultiMaterialDemo - Win32 Release"
+# Name "appMultiMaterialDemo - Win32 ReleaseDoublePrecision"
+# Name "appMultiMaterialDemo - Win32 Debug"
+# Name "appMultiMaterialDemo - Win32 DebugDoublePrecision"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\Demos\MultiMaterialDemo\main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Demos\MultiMaterialDemo\MultiMaterialDemo.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\Demos\MultiMaterialDemo\MultiMaterialDemo.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\msvc\appMultiMaterialDemo.rc
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/msvc/7/appMultiMaterialDemo.vcproj b/msvc/7/appMultiMaterialDemo.vcproj
new file mode 100644
index 000000000..579ca39bc
--- /dev/null
+++ b/msvc/7/appMultiMaterialDemo.vcproj
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/msvc/71/appMultiMaterialDemo.vcproj b/msvc/71/appMultiMaterialDemo.vcproj
new file mode 100644
index 000000000..daf9745de
--- /dev/null
+++ b/msvc/71/appMultiMaterialDemo.vcproj
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/msvc/8/appMultiMaterialDemo.vcproj b/msvc/8/appMultiMaterialDemo.vcproj
new file mode 100644
index 000000000..0876ee4b8
--- /dev/null
+++ b/msvc/8/appMultiMaterialDemo.vcproj
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/msvc/appMultiMaterialDemo.rc b/msvc/appMultiMaterialDemo.rc
new file mode 100644
index 000000000..796d0417d
--- /dev/null
+++ b/msvc/appMultiMaterialDemo.rc
@@ -0,0 +1,30 @@
+// This file is generated automatically.
+
+1 VERSIONINFO
+FILEVERSION 2, 69, 0, 0
+PRODUCTVERSION 2, 69, 0, 0
+#ifdef CS_DEBUG
+FILEFLAGS 0x1
+#else
+FILEFLAGS 0x0
+#endif
+{
+ BLOCK "StringFileInfo"
+ {
+ BLOCK "040904E4"
+ {
+ VALUE "ProductName", "Bullet Continuous Collision Detection and Physics Library"
+ VALUE "ProductVersion", "2.69"
+ VALUE "FileVersion", "2.69"
+ VALUE "LegalCopyright", "Copyright (c) 2005-2007 Erwin Coumans"
+ VALUE "FileDescription", "MultiMaterialDemo"
+#ifdef CS_DEBUG
+ VALUE "Comments", "Debug build"
+#else
+ VALUE "Comments", "Release build"
+#endif
+ VALUE "WWW", "http://www.bulletphysics.com"
+ }
+ }
+}
+1 ICON "../../msvc/bullet_ico.ico"