summaryrefslogtreecommitdiff
path: root/libs/assimp/samples/SimpleOpenGL
diff options
context:
space:
mode:
Diffstat (limited to 'libs/assimp/samples/SimpleOpenGL')
-rw-r--r--libs/assimp/samples/SimpleOpenGL/CMakeLists.txt58
-rw-r--r--libs/assimp/samples/SimpleOpenGL/Sample_SimpleOpenGL.c448
-rw-r--r--libs/assimp/samples/SimpleOpenGL/SimpleOpenGL.sln20
-rw-r--r--libs/assimp/samples/SimpleOpenGL/SimpleOpenGL.vcproj199
4 files changed, 0 insertions, 725 deletions
diff --git a/libs/assimp/samples/SimpleOpenGL/CMakeLists.txt b/libs/assimp/samples/SimpleOpenGL/CMakeLists.txt
deleted file mode 100644
index ba5deb4..0000000
--- a/libs/assimp/samples/SimpleOpenGL/CMakeLists.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-SET(SAMPLE_PROJECT_NAME assimp_simpleogl)
-
-FIND_PACKAGE(OpenGL)
-FIND_PACKAGE(GLUT)
-IF ( MSVC )
- SET(M_LIB)
-ELSE ()
- find_library(M_LIB m)
-ENDIF ()
-
-IF ( NOT GLUT_FOUND )
- IF ( MSVC )
- SET ( GLUT_FOUND 1 )
- SET ( GLUT_INCLUDE_DIR ${Assimp_SOURCE_DIR}/samples/freeglut/ )
- SET ( GLUT_LIBRARIES ${Assimp_SOURCE_DIR}/samples/freeglut/lib/freeglut.lib )
- ELSE ()
- MESSAGE( WARNING "Please install glut." )
- ENDIF ()
-ENDIF ()
-
-# Used for usage and error messages in the program.
-ADD_COMPILE_DEFINITIONS(ASSIMP_VERSION="${ASSIMP_VERSION}")
-ADD_COMPILE_DEFINITIONS(PROJECT_NAME="${SAMPLE_PROJECT_NAME}")
-
-if ( MSVC )
- ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
- ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
-endif ()
-
-INCLUDE_DIRECTORIES(
- ${Assimp_SOURCE_DIR}/include
- ${Assimp_SOURCE_DIR}/code
- ${OPENGL_INCLUDE_DIR}
- ${GLUT_INCLUDE_DIR}
- ${Assimp_SOURCE_DIR}/samples/freeglut/include
-)
-
-LINK_DIRECTORIES(
- ${Assimp_BINARY_DIR}
- ${Assimp_BINARY_DIR}/lib
-)
-
-ADD_EXECUTABLE( ${SAMPLE_PROJECT_NAME}
- Sample_SimpleOpenGL.c
-)
-
-TARGET_USE_COMMON_OUTPUT_DIRECTORY(${SAMPLE_PROJECT_NAME})
-
-SET_PROPERTY(TARGET ${SAMPLE_PROJECT_NAME} PROPERTY DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
-
-TARGET_LINK_LIBRARIES( ${SAMPLE_PROJECT_NAME} assimp ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${M_LIB} )
-SET_TARGET_PROPERTIES( ${SAMPLE_PROJECT_NAME} PROPERTIES
- OUTPUT_NAME ${SAMPLE_PROJECT_NAME}
-)
-
-INSTALL( TARGETS ${SAMPLE_PROJECT_NAME}
- DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-dev
-)
diff --git a/libs/assimp/samples/SimpleOpenGL/Sample_SimpleOpenGL.c b/libs/assimp/samples/SimpleOpenGL/Sample_SimpleOpenGL.c
deleted file mode 100644
index c8ab7b3..0000000
--- a/libs/assimp/samples/SimpleOpenGL/Sample_SimpleOpenGL.c
+++ /dev/null
@@ -1,448 +0,0 @@
-/* ----------------------------------------------------------------------------
-// Simple sample to prove that Assimp is easy to use with OpenGL.
-// It takes a file name as command line parameter, loads it using standard
-// settings and displays it.
-//
-// If you intend to _use_ this code sample in your app, do yourself a favour
-// and replace immediate mode calls with VBOs ...
-//
-// The vc8 solution links against assimp-release-dll_win32 - be sure to
-// have this configuration built.
-// ----------------------------------------------------------------------------
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#ifdef __APPLE__
-#include <freeglut.h>
-#else
-#include <GL/freeglut.h>
-#endif
-
-/* assimp include files. These three are usually needed. */
-#include <assimp/cimport.h>
-#include <assimp/scene.h>
-#include <assimp/postprocess.h>
-
-#define COMMAND_USAGE "--usage"
-
-/* ---------------------------------------------------------------------------- */
-inline static void print_run_command(const char* command_name) {
- printf("Run '%s %s' for more information.\n",
- PROJECT_NAME, command_name);
-}
-
-/* ---------------------------------------------------------------------------- */
-inline static void print_error(const char* msg) {
- printf("ERROR: %s\n", msg);
-}
-
-#define NEW_LINE "\n"
-#define DOUBLE_NEW_LINE NEW_LINE NEW_LINE
-
-/* ---------------------------------------------------------------------------- */
-inline static void print_usage() {
- static const char* usage_format =
- "Usage: "
- PROJECT_NAME
- " <file>" DOUBLE_NEW_LINE
- "where:" DOUBLE_NEW_LINE
- " %-10s %s" DOUBLE_NEW_LINE
- "options:" DOUBLE_NEW_LINE
- " %-10s %s" DOUBLE_NEW_LINE;
- printf(usage_format,
- // where
- "file", "The input model file to load.",
- // options
- COMMAND_USAGE, "Display usage.");
-}
-
-/* the global Assimp scene object */
-const C_STRUCT aiScene* scene = NULL;
-GLuint scene_list = 0;
-C_STRUCT aiVector3D scene_min, scene_max, scene_center;
-
-/* current rotation angle */
-static float angle = 0.f;
-
-#define aisgl_min(x,y) (x<y?x:y)
-#define aisgl_max(x,y) (y>x?y:x)
-
-/* ---------------------------------------------------------------------------- */
-void reshape(int width, int height)
-{
- const double aspectRatio = (float) width / height, fieldOfView = 45.0;
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(fieldOfView, aspectRatio,
- 1.0, 1000.0); /* Znear and Zfar */
- glViewport(0, 0, width, height);
-}
-
-/* ---------------------------------------------------------------------------- */
-void get_bounding_box_for_node (const C_STRUCT aiNode* nd,
- C_STRUCT aiVector3D* min,
- C_STRUCT aiVector3D* max,
- C_STRUCT aiMatrix4x4* trafo
-){
- C_STRUCT aiMatrix4x4 prev;
- unsigned int n = 0, t;
-
- prev = *trafo;
- aiMultiplyMatrix4(trafo,&nd->mTransformation);
-
- for (; n < nd->mNumMeshes; ++n) {
- const C_STRUCT aiMesh* mesh = scene->mMeshes[nd->mMeshes[n]];
- for (t = 0; t < mesh->mNumVertices; ++t) {
-
- C_STRUCT aiVector3D tmp = mesh->mVertices[t];
- aiTransformVecByMatrix4(&tmp,trafo);
-
- min->x = aisgl_min(min->x,tmp.x);
- min->y = aisgl_min(min->y,tmp.y);
- min->z = aisgl_min(min->z,tmp.z);
-
- max->x = aisgl_max(max->x,tmp.x);
- max->y = aisgl_max(max->y,tmp.y);
- max->z = aisgl_max(max->z,tmp.z);
- }
- }
-
- for (n = 0; n < nd->mNumChildren; ++n) {
- get_bounding_box_for_node(nd->mChildren[n],min,max,trafo);
- }
- *trafo = prev;
-}
-
-/* ---------------------------------------------------------------------------- */
-void get_bounding_box(C_STRUCT aiVector3D* min, C_STRUCT aiVector3D* max)
-{
- C_STRUCT aiMatrix4x4 trafo;
- aiIdentityMatrix4(&trafo);
-
- min->x = min->y = min->z = 1e10f;
- max->x = max->y = max->z = -1e10f;
- get_bounding_box_for_node(scene->mRootNode,min,max,&trafo);
-}
-
-/* ---------------------------------------------------------------------------- */
-void color4_to_float4(const C_STRUCT aiColor4D *c, float f[4])
-{
- f[0] = c->r;
- f[1] = c->g;
- f[2] = c->b;
- f[3] = c->a;
-}
-
-/* ---------------------------------------------------------------------------- */
-void set_float4(float f[4], float a, float b, float c, float d)
-{
- f[0] = a;
- f[1] = b;
- f[2] = c;
- f[3] = d;
-}
-
-/* ---------------------------------------------------------------------------- */
-void apply_material(const C_STRUCT aiMaterial *mtl)
-{
- float c[4];
-
- GLenum fill_mode;
- int ret1, ret2;
- C_STRUCT aiColor4D diffuse;
- C_STRUCT aiColor4D specular;
- C_STRUCT aiColor4D ambient;
- C_STRUCT aiColor4D emission;
- ai_real shininess, strength;
- int two_sided;
- int wireframe;
- unsigned int max;
-
- set_float4(c, 0.8f, 0.8f, 0.8f, 1.0f);
- if(AI_SUCCESS == aiGetMaterialColor(mtl, AI_MATKEY_COLOR_DIFFUSE, &diffuse))
- color4_to_float4(&diffuse, c);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, c);
-
- set_float4(c, 0.0f, 0.0f, 0.0f, 1.0f);
- if(AI_SUCCESS == aiGetMaterialColor(mtl, AI_MATKEY_COLOR_SPECULAR, &specular))
- color4_to_float4(&specular, c);
- glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, c);
-
- set_float4(c, 0.2f, 0.2f, 0.2f, 1.0f);
- if(AI_SUCCESS == aiGetMaterialColor(mtl, AI_MATKEY_COLOR_AMBIENT, &ambient))
- color4_to_float4(&ambient, c);
- glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, c);
-
- set_float4(c, 0.0f, 0.0f, 0.0f, 1.0f);
- if(AI_SUCCESS == aiGetMaterialColor(mtl, AI_MATKEY_COLOR_EMISSIVE, &emission))
- color4_to_float4(&emission, c);
- glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, c);
-
- max = 1;
- ret1 = aiGetMaterialFloatArray(mtl, AI_MATKEY_SHININESS, &shininess, &max);
- if(ret1 == AI_SUCCESS) {
- max = 1;
- ret2 = aiGetMaterialFloatArray(mtl, AI_MATKEY_SHININESS_STRENGTH, &strength, &max);
- if(ret2 == AI_SUCCESS)
- glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess * strength);
- else
- glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess);
- }
- else {
- glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 0.0f);
- set_float4(c, 0.0f, 0.0f, 0.0f, 0.0f);
- glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, c);
- }
-
- max = 1;
- if(AI_SUCCESS == aiGetMaterialIntegerArray(mtl, AI_MATKEY_ENABLE_WIREFRAME, &wireframe, &max))
- fill_mode = wireframe ? GL_LINE : GL_FILL;
- else
- fill_mode = GL_FILL;
- glPolygonMode(GL_FRONT_AND_BACK, fill_mode);
-
- max = 1;
- if((AI_SUCCESS == aiGetMaterialIntegerArray(mtl, AI_MATKEY_TWOSIDED, &two_sided, &max)) && two_sided)
- glDisable(GL_CULL_FACE);
- else
- glEnable(GL_CULL_FACE);
-}
-
-/* ---------------------------------------------------------------------------- */
-void recursive_render (const C_STRUCT aiScene *sc, const C_STRUCT aiNode* nd)
-{
- unsigned int i;
- unsigned int n = 0, t;
- C_STRUCT aiMatrix4x4 m = nd->mTransformation;
-
- /* update transform */
- aiTransposeMatrix4(&m);
- glPushMatrix();
- glMultMatrixf((float*)&m);
-
- /* draw all meshes assigned to this node */
- for (; n < nd->mNumMeshes; ++n) {
- const C_STRUCT aiMesh* mesh = scene->mMeshes[nd->mMeshes[n]];
-
- apply_material(sc->mMaterials[mesh->mMaterialIndex]);
-
- if(mesh->mNormals == NULL) {
- glDisable(GL_LIGHTING);
- } else {
- glEnable(GL_LIGHTING);
- }
-
- for (t = 0; t < mesh->mNumFaces; ++t) {
- const C_STRUCT aiFace* face = &mesh->mFaces[t];
- GLenum face_mode;
-
- switch(face->mNumIndices) {
- case 1: face_mode = GL_POINTS; break;
- case 2: face_mode = GL_LINES; break;
- case 3: face_mode = GL_TRIANGLES; break;
- default: face_mode = GL_POLYGON; break;
- }
-
- glBegin(face_mode);
-
- for(i = 0; i < face->mNumIndices; i++) {
- int index = face->mIndices[i];
- if(mesh->mColors[0] != NULL)
- glColor4fv((GLfloat*)&mesh->mColors[0][index]);
- if(mesh->mNormals != NULL)
- glNormal3fv(&mesh->mNormals[index].x);
- glVertex3fv(&mesh->mVertices[index].x);
- }
-
- glEnd();
- }
-
- }
-
- /* draw all children */
- for (n = 0; n < nd->mNumChildren; ++n) {
- recursive_render(sc, nd->mChildren[n]);
- }
-
- glPopMatrix();
-}
-
-/* ---------------------------------------------------------------------------- */
-void do_motion (void)
-{
- static GLint prev_time = 0;
- static GLint prev_fps_time = 0;
- static int frames = 0;
-
- int time = glutGet(GLUT_ELAPSED_TIME);
- angle += (float)((time-prev_time)*0.01);
- prev_time = time;
-
- frames += 1;
- if ((time - prev_fps_time) > 1000) /* update every seconds */
- {
- int current_fps = frames * 1000 / (time - prev_fps_time);
- printf("%d fps\n", current_fps);
- frames = 0;
- prev_fps_time = time;
- }
-
-
- glutPostRedisplay ();
-}
-
-/* ---------------------------------------------------------------------------- */
-void display(void)
-{
- float tmp;
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- gluLookAt(0.f,0.f,3.f,0.f,0.f,-5.f,0.f,1.f,0.f);
-
- /* rotate it around the y axis */
- glRotatef(angle,0.f,1.f,0.f);
-
- /* scale the whole asset to fit into our view frustum */
- tmp = scene_max.x-scene_min.x;
- tmp = aisgl_max(scene_max.y - scene_min.y,tmp);
- tmp = aisgl_max(scene_max.z - scene_min.z,tmp);
- tmp = 1.f / tmp;
- glScalef(tmp, tmp, tmp);
-
- /* center the model */
- glTranslatef( -scene_center.x, -scene_center.y, -scene_center.z );
-
- /* if the display list has not been made yet, create a new one and
- fill it with scene contents */
- if(scene_list == 0) {
- scene_list = glGenLists(1);
- glNewList(scene_list, GL_COMPILE);
- /* now begin at the root node of the imported data and traverse
- the scenegraph by multiplying subsequent local transforms
- together on GL's matrix stack. */
- recursive_render(scene, scene->mRootNode);
- glEndList();
- }
-
- glCallList(scene_list);
-
- glutSwapBuffers();
-
- do_motion();
-}
-
-/* ---------------------------------------------------------------------------- */
-int loadasset (const char* path)
-{
- /* we are taking one of the postprocessing presets to avoid
- spelling out 20+ single postprocessing flags here. */
- scene = aiImportFile(path,aiProcessPreset_TargetRealtime_MaxQuality);
-
- if (scene) {
- get_bounding_box(&scene_min,&scene_max);
- scene_center.x = (scene_min.x + scene_max.x) / 2.0f;
- scene_center.y = (scene_min.y + scene_max.y) / 2.0f;
- scene_center.z = (scene_min.z + scene_max.z) / 2.0f;
- return 0;
- }
- return 1;
-}
-
-/* ---------------------------------------------------------------------------- */
-int main(int argc, char **argv)
-{
- const char* model_file = NULL;
- C_STRUCT aiLogStream stream;
-
- if (argc < 2) {
- print_error("No input model file specified.");
- print_run_command(COMMAND_USAGE);
- return EXIT_FAILURE;
- }
-
- // Find and execute available commands entered by the user.
- for (int i = 1; i < argc; ++i) {
- if (!strncmp(argv[i], COMMAND_USAGE, strlen(COMMAND_USAGE))) {
- print_usage();
- return EXIT_SUCCESS;
- }
- }
-
- // Check and validate the specified model file extension.
- model_file = argv[1];
- const char* extension = strrchr(model_file, '.');
- if (!extension) {
- print_error("Please provide a file with a valid extension.");
- return EXIT_FAILURE;
- }
-
- if (AI_FALSE == aiIsExtensionSupported(extension)) {
- print_error("The specified model file extension is currently "
- "unsupported in Assimp " ASSIMP_VERSION ".");
- return EXIT_FAILURE;
- }
-
- glutInitWindowSize(900,600);
- glutInitWindowPosition(100,100);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- glutInit(&argc, argv);
- glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_GLUTMAINLOOP_RETURNS);
-
- glutCreateWindow("Assimp - Very simple OpenGL sample");
- glutDisplayFunc(display);
- glutReshapeFunc(reshape);
-
- /* get a handle to the predefined STDOUT log stream and attach
- it to the logging system. It remains active for all further
- calls to aiImportFile(Ex) and aiApplyPostProcessing. */
- stream = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT,NULL);
- aiAttachLogStream(&stream);
-
- /* ... same procedure, but this stream now writes the
- log messages to assimp_log.txt */
- stream = aiGetPredefinedLogStream(aiDefaultLogStream_FILE,"assimp_log.txt");
- aiAttachLogStream(&stream);
-
- // Load the model file.
- if(0 != loadasset(model_file)) {
- print_error("Failed to load model. Please ensure that the specified file exists.");
- aiDetachAllLogStreams();
- return EXIT_FAILURE;
- }
-
- glClearColor(0.1f,0.1f,0.1f,1.f);
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0); /* Uses default lighting parameters */
-
- glEnable(GL_DEPTH_TEST);
-
- glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
- glEnable(GL_NORMALIZE);
-
- /* XXX docs say all polygons are emitted CCW, but tests show that some aren't. */
- if(getenv("MODEL_IS_BROKEN"))
- glFrontFace(GL_CW);
-
- glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
-
- glutGet(GLUT_ELAPSED_TIME);
- glutMainLoop();
-
- /* cleanup - calling 'aiReleaseImport' is important, as the library
- keeps internal resources until the scene is freed again. Not
- doing so can cause severe resource leaking. */
- aiReleaseImport(scene);
-
- /* We added a log stream to the library, it's our job to disable it
- again. This will definitely release the last resources allocated
- by Assimp.*/
- aiDetachAllLogStreams();
- return EXIT_SUCCESS;
-}
diff --git a/libs/assimp/samples/SimpleOpenGL/SimpleOpenGL.sln b/libs/assimp/samples/SimpleOpenGL/SimpleOpenGL.sln
deleted file mode 100644
index 5ccbafe..0000000
--- a/libs/assimp/samples/SimpleOpenGL/SimpleOpenGL.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimpleOpenGL", "SimpleOpenGL.vcproj", "{A53D047C-2C35-44FB-B7DB-2066FE520950}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A53D047C-2C35-44FB-B7DB-2066FE520950}.Debug|Win32.ActiveCfg = Debug|Win32
- {A53D047C-2C35-44FB-B7DB-2066FE520950}.Debug|Win32.Build.0 = Debug|Win32
- {A53D047C-2C35-44FB-B7DB-2066FE520950}.Release|Win32.ActiveCfg = Release|Win32
- {A53D047C-2C35-44FB-B7DB-2066FE520950}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/libs/assimp/samples/SimpleOpenGL/SimpleOpenGL.vcproj b/libs/assimp/samples/SimpleOpenGL/SimpleOpenGL.vcproj
deleted file mode 100644
index cbc56c1..0000000
--- a/libs/assimp/samples/SimpleOpenGL/SimpleOpenGL.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9,00"
- Name="SimpleOpenGL"
- ProjectGUID="{A53D047C-2C35-44FB-B7DB-2066FE520950}"
- RootNamespace="SimpleOpenGL"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\glut;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="glut32.lib assimp.lib"
- OutputFile="$(OutDir)\$(ProjectName)_Debug.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="..\glut;&quot;..\..\lib\assimp_debug-dll_win32&quot;;..\..\bin\debug\"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="copy &quot;$(ConfigurationName)\$(TargetFileName)&quot; ..\bin&#x0D;&#x0A;copy ..\..\bin\assimp_debug-dll_Win32\Assimp32d.dll ..\bin&#x0D;&#x0A;"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\glut;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="glut32.lib assimp.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="..\glut;&quot;..\..\lib\assimp_release-dll_win32&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="copy &quot;$(ConfigurationName)\$(TargetFileName)&quot; ..\bin&#x0D;&#x0A;copy ..\..\bin\assimp_release-dll_Win32\Assimp32.dll ..\bin&#x0D;&#x0A;"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="res"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- </Filter>
- <Filter
- Name="source"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="Sample_SimpleOpenGL.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>