Model loading and texturing

This commit is contained in:
Dane Johnson
2021-01-18 18:25:47 -06:00
parent 66bf7776c7
commit 155b572aca
1283 changed files with 533814 additions and 42 deletions

Binary file not shown.

View File

@@ -0,0 +1,8 @@
Project home page:
http://assimp.sourceforge.net
Sourceforge.net project page:
http://www.sourceforge.net/projects/assimp

View File

@@ -0,0 +1,16 @@
How to build the Assimp installer using Inno Setup
1) Get MS VC 2008 SP1 redist packages for x86 and amd64 and copy 'em right here.
vcredist_x86.exe
vcredist_x64.exe
2) Get D3DCompiler_NN.dll and D3DX9_NN.dll from a) your system32 folder and b) your SysWOW64 folder. Copy all 4 here. Rename the 64 bit files to <originalname>_x64.dll. NN is the D3DX version targeted by your DX SDK. If it is not 42, you need to update the Inno setup script (script.iss) as well. If you don't have a 64 bit Windows, get the DLLs from somebody else. Please don't ask google because many DLL downloads are infected.
3) Build assimp, assimpcmd and assimpview for the 'release-dll' target and both the Win32 and x64 architectures.
4) Get Inno Setup
5) Compile, output is written to the 'out' folder.

View File

@@ -0,0 +1,23 @@
------------------------------------------------------------------------------------
Open Asset Import Library (Assimp) SDK Installer
Release Notes
------------------------------------------------------------------------------------
http://assimp.sf.net
Troubleshooting
===============
1. Missing d3dx9_(some-number).dll?
Install the latest DirectX runtime or grab the file from somewhere (that's evil but mostly fine).
2. Application configuration not correct / missing msvcr***.dll?
Reinstall Microsoft Visual C++ 2005 SP1 Redistributable (x86 or x64, depending on your system)
3. assimp.exe not in PATH
Add it to PATH. That's not a bug, the installer does not alter the PATH.
4. Crashes immediately
You CPU lacks SSE2 support. Build Assimp from scratch to suit your CPU, sorry.

View File

@@ -0,0 +1,32 @@
------------------------------------------------------------------------------------
Open Asset Import Library (Assimp) Viewer Installer
Release Notes
------------------------------------------------------------------------------------
http://assimp.sf.net
Known Bugs & Limitations
========================
Viewer
- Normals appear flipped from time to time when either of the normals-related menu items was hit.
- Alpha-sorting is implemented, but still causes artifacts when models are moved quickly.
- Several important texture file formats (such as GIF) are not supported.
- HUD is blurred on the right side. ATI/AMD hardware only.
Troubleshooting
===============
1. Missing d3dx9_(number).dll?
Install the latest DirectX runtime or grab the file from somewhere (that's evil but mostly fine).
2. Application configuration not correct / missing msvcr***.dll?
Reinstall Microsoft Visual C++ 2005 SP1 Redistributable (x86 or x64, depending on your system)
3. assimp.exe not in PATH
Add it to PATH. That's not a bug, the installer does not alter the PATH.
4. Crashes immediately
You CPU lacks SSE2 support. Build Assimp from scratch to suit your CPU, sorry.

View File

@@ -0,0 +1,60 @@
; Setup script for use with Inno Setup.
[Setup]
AppName=Open Asset Import Library - Viewer
AppVerName=Open Asset Import Library - Viewer (v2.0)
DefaultDirName={pf}\AssimpView
DefaultGroupName=AssimpView
UninstallDisplayIcon={app}\bin\x86\assimp.exe
OutputDir=out_vieweronly
AppCopyright=Assimp Development Team
SetupIconFile=..\..\tools\shared\assimp_tools_icon.ico
WizardImageFile=compiler:WizModernImage-IS.BMP
WizardSmallImageFile=compiler:WizModernSmallImage-IS.BMP
LicenseFile=License.rtf
OutputBaseFileName=assimp-view-2.0-setup
VersionInfoVersion=2.0.0.0
VersionInfoTextVersion=2.0
VersionInfoCompany=Assimp Development Team
ArchitecturesInstallIn64BitMode=x64
[Run]
Filename: "{app}\stub\vcredist_x86.exe"; Parameters: "/qb"; StatusMsg: "Installing VS2008 SP1 redistributable package (32 Bit)"; Check: not IsWin64
Filename: "{app}\stub\vcredist_x64.exe"; Parameters: "/qb"; StatusMsg: "Installing VS2008 SP1 redistributable package (64 Bit)"; Check: IsWin64
[Files]
Source: "readme_installer_vieweronly.txt"; DestDir: "{app}"; Flags: isreadme
; Installer stub
Source: "vcredist_x86.exe"; DestDir: "{app}\stub\"; Check: not IsWin64
Source: "vcredist_x64.exe"; DestDir: "{app}\stub\"; Check: IsWin64
; Common stuff
Source: "..\..\CREDITS"; DestDir: "{app}"
Source: "..\..\LICENSE"; DestDir: "{app}"
Source: "..\..\README"; DestDir: "{app}"
Source: "WEB"; DestDir: "{app}"
; x86 binaries
Source: "..\..\bin\assimp_release-dll_Win32\Assimp32.dll"; DestDir: "{app}\bin\x86"
Source: "..\..\bin\assimpview_release-dll_Win32\assimp_view.exe"; DestDir: "{app}\bin\x86"
Source: "D3DCompiler_42.dll"; DestDir: "{app}\bin\x86"
Source: "D3DX9_42.dll"; DestDir: "{app}\bin\x86"
Source: "..\..\bin\assimpcmd_release-dll_Win32\assimp.exe"; DestDir: "{app}\bin\x86"
; x64 binaries
Source: "..\..\bin\assimp_release-dll_x64\Assimp64.dll"; DestDir: "{app}\bin\x64"
Source: "..\..\bin\assimpview_release-dll_x64\assimp_view.exe"; DestDir: "{app}\bin\x64"
Source: "D3DCompiler_42_x64.dll"; DestDir: "{app}\bin\x64"; DestName: "D3DCompiler_42.dll"
Source: "D3DX9_42_x64.dll"; DestDir: "{app}\bin\x64"; DestName: "D3DX9_42.dll"
Source: "..\..\bin\assimpcmd_release-dll_x64\assimp.exe"; DestDir: "{app}\bin\x64"
; Documentation
Source: "..\..\doc\AssimpCmdDoc_Html\AssimpCmdDoc.chm"; DestDir: "{app}\doc"
[Icons]
Name: "{group}\Assimp Command Line Manual"; Filename: "{app}\doc\AssimpCmdDoc.chm"
Name: "{group}\AssimpView"; Filename: "{app}\bin\x64\assimp_view.exe"; Check: IsWin64
Name: "{group}\AssimpView"; Filename: "{app}\bin\x86\assimp_view.exe"; Check: not IsWin64

View File

@@ -0,0 +1,74 @@
; Setup script for use with Inno Setup.
[Setup]
AppName=Open Asset Import Library - SDK
AppVerName=Open Asset Import Library - SDK (v5.0.0)
DefaultDirName={pf}\Assimp
DefaultGroupName=Assimp
UninstallDisplayIcon={app}\bin\x64\assimp.exe
OutputDir=out
AppCopyright=Assimp Development Team
SetupIconFile=..\..\tools\shared\assimp_tools_icon.ico
WizardImageFile=compiler:WizModernImage-IS.BMP
WizardSmallImageFile=compiler:WizModernSmallImage-IS.BMP
LicenseFile=License.rtf
OutputBaseFileName=assimp-sdk-5.0.0-setup
VersionInfoVersion=5.0.0.0
VersionInfoTextVersion=5.0.0
VersionInfoCompany=Assimp Development Team
ArchitecturesInstallIn64BitMode=x64
[Types]
Name: "full"; Description: "Full installation"
Name: "compact"; Description: "Compact installation, no test models or language bindings"
Name: "custom"; Description: "Custom installation"; Flags: iscustom
[Components]
Name: "main"; Description: "Main Files ( 64 Bit )"; Types: full compact custom; Flags: fixed
Name: "tools"; Description: "Asset Viewer & Command Line Tools (32 and 64 Bit)"; Types: full compact
Name: "help"; Description: "Help Files"; Types: full compact
Name: "samples"; Description: "Samples"; Types: full
Name: "test"; Description: "Test Models (BSD-licensed)"; Types: full
Name: "test_nonbsd"; Description: "Test Models (other (free) licenses)"; Types: full
[Run]
Filename: "{app}\stub\vc_redist.x64.exe"; Parameters: "/qb /passive /quiet"; StatusMsg: "Installing VS2017 redistributable package (64 Bit)"; Check: IsWin64
[Files]
Source: "readme_installer.txt"; DestDir: "{app}"; Flags: isreadme
; Installer stub
Source: "vc_redist.x64.exe"; DestDir: "{app}\stub\"; Check: IsWin64
; Common stuff
Source: "..\..\CREDITS"; DestDir: "{app}"
Source: "..\..\LICENSE"; DestDir: "{app}"
Source: "..\..\README"; DestDir: "{app}"
Source: "WEB"; DestDir: "{app}"
Source: "..\..\scripts\*"; DestDir: "{app}\scripts"; Flags: recursesubdirs
; x64 binaries
Source: "..\..\bin\release\assimp-vc141-mt.dll"; DestDir: "{app}\bin\x64"
Source: "..\..\bin\release\assimp_viewer.exe"; DestDir: "{app}\bin\x64"; Components: tools
Source: "C:\Windows\SysWOW64\D3DCompiler_42.dll"; DestDir: "{app}\bin\x64"; DestName: "D3DCompiler_42.dll"; Components: tools
Source: "C:\Windows\SysWOW64\D3DX9_42.dll"; DestDir: "{app}\bin\x64"; DestName: "D3DX9_42.dll"; Components: tools
Source: "..\..\bin\release\assimp.exe"; DestDir: "{app}\bin\x64"; Components: tools
; Import libraries
Source: "..\..\lib\release\assimp-vc141-mt.lib"; DestDir: "{app}\lib\x64"
; Samples
Source: "..\..\samples\*"; DestDir: "{app}\samples"; Flags: recursesubdirs; Components: samples
; Include files
Source: "..\..\include\*"; DestDir: "{app}\include"; Flags: recursesubdirs
; CMake files
Source: "..\..\cmake-modules\*"; DestDir: "{app}\cmake-modules"; Flags: recursesubdirs
[Icons]
; Name: "{group}\Assimp Manual"; Filename: "{app}\doc\AssimpDoc.chm" ; Components: help
; Name: "{group}\Assimp Command Line Manual"; Filename: "{app}\doc\AssimpCmdDoc.chm"; Components: help
; Name: "{group}\AssimpView"; Filename: "{app}\bin\x64\assimp_view.exe"; Components: tools; Check: IsWin64
; Name: "{group}\AssimpView"; Filename: "{app}\bin\x86\assimp_view.exe"; Components: tools; Check: not IsWin64

View File

@@ -0,0 +1,75 @@
; Setup script for use with Inno Setup.
[Setup]
AppName=Open Asset Import Library - SDK
AppVerName=Open Asset Import Library - SDK (v5.0.0)
DefaultDirName={pf}\Assimp
DefaultGroupName=Assimp
UninstallDisplayIcon={app}\bin\x86\assimp.exe
OutputDir=out
AppCopyright=Assimp Development Team
SetupIconFile=..\..\tools\shared\assimp_tools_icon.ico
WizardImageFile=compiler:WizModernImage-IS.BMP
WizardSmallImageFile=compiler:WizModernSmallImage-IS.BMP
LicenseFile=License.rtf
OutputBaseFileName=assimp-sdk-5.0.0-setup
VersionInfoVersion=4.1.0.0
VersionInfoTextVersion=4.1.0
VersionInfoCompany=Assimp Development Team
;ArchitecturesInstallIn64BitMode=x64
[Types]
Name: "full"; Description: "Full installation"
Name: "compact"; Description: "Compact installation, no test models or language bindings"
Name: "custom"; Description: "Custom installation"; Flags: iscustom
[Components]
Name: "main"; Description: "Main Files (32 and 64 Bit)"; Types: full compact custom; Flags: fixed
Name: "tools"; Description: "Asset Viewer & Command Line Tools (32 and 64 Bit)"; Types: full compact
Name: "help"; Description: "Help Files"; Types: full compact
Name: "samples"; Description: "Samples"; Types: full
Name: "test"; Description: "Test Models (BSD-licensed)"; Types: full
Name: "test_nonbsd"; Description: "Test Models (other (free) licenses)"; Types: full
[Run]
Filename: "{app}\stub\vc_redist.x86.exe"; Parameters: "/qb /passive /quiet"; StatusMsg: "Installing VS2017 redistributable package (32 Bit)"; Check: not IsWin64
[Files]
Source: "readme_installer.txt"; DestDir: "{app}"; Flags: isreadme
; Installer stub
Source: "vc_redist.x86.exe"; DestDir: "{app}\stub\"; Check: not IsWin64
; Common stuff
Source: "..\..\CREDITS"; DestDir: "{app}"
Source: "..\..\LICENSE"; DestDir: "{app}"
Source: "..\..\README"; DestDir: "{app}"
Source: "WEB"; DestDir: "{app}"
Source: "..\..\scripts\*"; DestDir: "{app}\scripts"; Flags: recursesubdirs
; x86 binaries
Source: "..\..\bin\release\assimp-vc141-mt.dll"; DestDir: "{app}\bin\x86"
Source: "..\..\bin\release\assimp_viewer.exe"; DestDir: "{app}\bin\x86"; Components: tools
Source: "C:\Windows\SysWOW64\D3DCompiler_42.dll"; DestDir: "{app}\bin\x86"; Components: tools
Source: "C:\Windows\SysWOW64\D3DX9_42.dll"; DestDir: "{app}\bin\x86"; Components: tools
Source: "..\..\bin\release\assimp.exe"; DestDir: "{app}\bin\x86"; Components: tools
; Import libraries
Source: "..\..\lib\release\assimp-vc141-mt.lib"; DestDir: "{app}\lib\x86"
; Samples
Source: "..\..\samples\*"; DestDir: "{app}\samples"; Flags: recursesubdirs; Components: samples
; Include files
Source: "..\..\include\*"; DestDir: "{app}\include"; Flags: recursesubdirs
; CMake files
Source: "..\..\cmake-modules\*"; DestDir: "{app}\cmake-modules"; Flags: recursesubdirs
[Icons]
; Name: "{group}\Assimp Manual"; Filename: "{app}\doc\AssimpDoc.chm" ; Components: help
; Name: "{group}\Assimp Command Line Manual"; Filename: "{app}\doc\AssimpCmdDoc.chm"; Components: help
; Name: "{group}\AssimpView"; Filename: "{app}\bin\x64\assimp_view.exe"; Components: tools; Check: IsWin64
; Name: "{group}\AssimpView"; Filename: "{app}\bin\x86\assimp_view.exe"; Components: tools; Check: not IsWin64

View File

@@ -0,0 +1,29 @@
------------------------------------------------------------------------------------
Open Asset Import Library (Assimp) Tools/Binaries for Windows
Release Notes
------------------------------------------------------------------------------------
Known Bugs & Limitations
========================
Viewer
- For files more than one embedded texture, only the first is loaded.
- Normals appear flipped from time to time when either of the normals-related menu items was hit.
- Alpha-sorting is implemented, but still causes artifacts when models are moved quickly.
- Several important texture file formats (such as GIF) are not supported.
- HUD is blurred on the right side. ATI/AMD hardware only.
Troubleshooting
===============
1. Missing d3dx9_42.dll?
Install the latest DirectX runtime or grab the file from somewhere (that's evil but mostly fine).
2. Application configuration not correct / missing msv*** DLLs?
(Re)install Microsoft Visual C++ 2005 SP1 Redistributable (x86 or x64, depending on your system)
3. Crashes immediately
You CPU lacks SSE2 support. Build Assimp from scratch to suit your CPU, sorry.

View File

@@ -0,0 +1,169 @@
rem -----------------------------------------------------
rem Batch file to build zipped redist packages
rem Two different packages are built:
rem
rem assimp--<revision>-bin.zip
rem Binaries for x86 and x64
rem Command line reference
rem
rem assimp--<revision>-sdk.zip
rem Binaries for x86 and x64, Debug & Release
rem Libs for DLL build, x86 & 64, Debug & Release
rem Full SVN checkout exluding mkutil & port
rem
rem
rem PREREQUISITES:
rem -7za.exe (7zip standalone)
rem Download from http://www.7-zip.org/download.html
rem
rem -svnversion.exe (Subversion revision getter)
rem Download any command line SVN package
rem
rem -doxygen.exe (Doxygen client)
rem Download from www.doxygen.com
rem
rem -svn client
rem
rem NOTES:
rem ./bin must not have any local modifications
rem
rem -----------------------------------------------------
@echo off
color 4e
cls
rem -----------------------------------------------------
rem Setup file revision for build
rem -----------------------------------------------------
call mkrev.bat
rem -----------------------------------------------------
rem Build output file names
rem -----------------------------------------------------
cd ..\..\bin
svnversion > tmpfile.txt
SET /p REVISIONBASE= < tmpfile.txt
DEL /q tmpfile.txt
cd ..\packaging\windows-mkzip
SET VERSIONBASE=2.0.%REVISIONBASE%
SET OUT_SDK=assimp--%VERSIONBASE%-sdk
SET OUT_BIN=assimp--%VERSIONBASE%-bin
SET BINCFG_x86=release-dll_win32
SET BINCFG_x64=release-dll_x64
SET BINCFG_x86_DEBUG=debug-dll_win32
SET BINCFG_x64_DEBUG=debug-dll_x64
rem -----------------------------------------------------
rem Delete previous output directories
rem -----------------------------------------------------
RD /S /q final\
rem -----------------------------------------------------
rem Create output directories
rem -----------------------------------------------------
mkdir final\%OUT_BIN%\x86
mkdir final\%OUT_BIN%\x64
rem -----------------------------------------------------
rem Copy all executables to 'final-bin'
rem -----------------------------------------------------
copy /Y ..\..\bin\assimpview_%BINCFG_x86%\assimp_view.exe "final\%OUT_BIN%\x86\assimp_view.exe"
copy /Y ..\..\bin\assimpview_%BINCFG_x64%\assimp_view.exe "final\%OUT_BIN%\x64\assimp_view.exe"
copy /Y ..\..\bin\assimpcmd_%BINCFG_x86%\assimp.exe "final\%OUT_BIN%\x86\assimp.exe"
copy /Y ..\..\bin\assimpcmd_%BINCFG_x64%\assimp.exe "final\%OUT_BIN%\x64\assimp.exe"
copy /Y ..\..\bin\assimp_%BINCFG_x86%\Assimp32.dll "final\%OUT_BIN%\x86\Assimp32.dll"
copy /Y ..\..\bin\assimp_%BINCFG_x64%\Assimp64.dll "final\%OUT_BIN%\x64\Assimp64.dll"
copy ..\..\LICENSE final\%OUT_BIN%\LICENSE
copy ..\..\CREDITS final\%OUT_BIN%\CREDITS
copy bin_readme.txt final\%OUT_BIN%\README
copy bin_readme.txt final\%OUT_BIN%\README
copy ..\..\doc\AssimpCmdDoc_Html\AssimpCmdDoc.chm final\%OUT_BIN%\CommandLine.chm
rem -----------------------------------------------------
rem Do a clean export of the repository and build SDK
rem
rem We take the current revision and remove some stuff
rem that is nto yet ready to be published.
rem -----------------------------------------------------
svn export .\..\..\ .\final\%OUT_SDK%
mkdir final\%OUT_SDK%\doc\assimp_html
mkdir final\%OUT_SDK%\doc\assimpcmd_html
copy .\..\..\doc\AssimpDoc_Html\* final\%OUT_SDK%\doc\assimp_html
copy .\..\..\doc\AssimpCmdDoc_Html\* final\%OUT_SDK%\doc\assimpcmd_html
del final\%OUT_SDK%\doc\assimpcmd_html\AssimpCmdDoc.chm
del final\%OUT_SDK%\doc\assimp_html\AssimpDoc.chm
rem Copy doc to a suitable place
move final\%OUT_SDK%\doc\AssimpDoc_Html\AssimpDoc.chm final\%OUT_SDK%\Documentation.chm
move final\%OUT_SDK%\doc\AssimpCmdDoc_Html\AssimpCmdDoc.chm final\%OUT_SDK%\CommandLine.chm
rem Cleanup ./doc folder
del /q final\%OUT_SDK%\doc\Preamble.txt
RD /s /q final\%OUT_SDK%\doc\AssimpDoc_Html
RD /s /q final\%OUT_SDK%\doc\AssimpCmdDoc_Html
rem Insert 'dummy' files into empty folders
echo. > final\%OUT_SDK%\lib\dummy
echo. > final\%OUT_SDK%\obj\dummy
RD /s /q final\%OUT_SDK%\port\swig
rem Also, repackaging is not a must-have feature
RD /s /q final\%OUT_SDK%\packaging
rem Copy prebuilt libs
mkdir "final\%OUT_SDK%\lib\assimp_%BINCFG_x86%"
mkdir "final\%OUT_SDK%\lib\assimp_%BINCFG_x64%"
mkdir "final\%OUT_SDK%\lib\assimp_%BINCFG_x86_DEBUG%"
mkdir "final\%OUT_SDK%\lib\assimp_%BINCFG_x64_DEBUG%"
copy /Y ..\..\lib\assimp_%BINCFG_x86%\assimp.lib "final\%OUT_SDK%\lib\assimp_%BINCFG_x86%"
copy /Y ..\..\lib\assimp_%BINCFG_x64%\assimp.lib "final\%OUT_SDK%\lib\assimp_%BINCFG_x64%\"
copy /Y ..\..\lib\assimp_%BINCFG_x86_DEBUG%\assimp.lib "final\%OUT_SDK%\lib\assimp_%BINCFG_x86_DEBUG%\"
copy /Y ..\..\lib\assimp_%BINCFG_x64_DEBUG%\assimp.lib "final\%OUT_SDK%\lib\assimp_%BINCFG_x64_DEBUG%\"
rem Copy prebuilt DLLs
mkdir "final\%OUT_SDK%\bin\assimp_%BINCFG_x86%"
mkdir "final\%OUT_SDK%\bin\assimp_%BINCFG_x64%"
mkdir "final\%OUT_SDK%\bin\assimp_%BINCFG_x86_DEBUG%"
mkdir "final\%OUT_SDK%\bin\assimp_%BINCFG_x64_DEBUG%"
copy /Y ..\..\bin\assimp_%BINCFG_x86%\Assimp32.dll "final\%OUT_SDK%\bin\assimp_%BINCFG_x86%\"
copy /Y ..\..\bin\assimp_%BINCFG_x64%\Assimp64.dll "final\%OUT_SDK%\bin\assimp_%BINCFG_x64%\"
copy /Y ..\..\bin\assimp_%BINCFG_x86_DEBUG%\Assimp32d.dll "final\%OUT_SDK%\bin\assimp_%BINCFG_x86_DEBUG%\"
copy /Y ..\..\bin\assimp_%BINCFG_x64_DEBUG%\Assimp64d.dll "final\%OUT_SDK%\bin\assimp_%BINCFG_x64_DEBUG%\"
rem -----------------------------------------------------
rem Make final-bin.zip and final-sdk.zip
rem -----------------------------------------------------
IF NOT EXIST 7za.exe (
cls
echo You need to have 7zip standalone installed to
echo build ZIP archives. Download: http://www.7-zip.org/download.html
pause
) else (
7za.exe a -tzip "final\%OUT_BIN%.zip" ".\final\%OUT_BIN%"
7za.exe a -tzip "final\%OUT_SDK%.zip" ".\final\%OUT_SDK%"
)
rem OK. We should have the release packages now.

View File

@@ -0,0 +1,27 @@
@echo off
rem -----------------------------------------------------
rem Tiny batch script to build the input file revision.h
rem revision.h contains the revision number of the wc.
rem It is included by assimp.rc.
rem -----------------------------------------------------
rem This is not very elegant, but it works.
rem ./bin shouldn't have any local modifications
svnversion > tmpfile.txt
set /p addtext= < tmpfile.txt
del /q tmpfile.txt
echo #define SVNRevision > tmpfile.txt
if exist ..\..\revision.h del /q ..\..\revision.h
for /f "delims=" %%l in (tmpfile.txt) Do (
for /f "delims=M:" %%r in ("%addtext%") Do (
echo %%l %%r >> ..\..\revision.h
)
)
del /q tmpfile.txt