From 6d52dd0a5fd7a6a0135108686bcbee3e6e7a9fe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Pe=C3=B1aranda?= Date: Fri, 26 Apr 2013 17:35:39 -0300 Subject: [PATCH] don't use libnetpbm in MSVC anymore --- openglcanvas.cpp | 16 ++++++++++++++-- openglcanvas.h | 4 ++++ pano_interface_1.pro | 23 ++++++++++++----------- 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/openglcanvas.cpp b/openglcanvas.cpp index 8be5b01..8ffad2e 100644 --- a/openglcanvas.cpp +++ b/openglcanvas.cpp @@ -36,7 +36,10 @@ } #endif -#define PROGNAME "pano_interface" +#ifndef _MSC_VER + #define PROGNAME "pano_interface" +#endif + #define VERT_SHADER_FILE "test_vertex_shader.vert" #define FRAG_SHADER_FILE "fragment_shader.frag" @@ -310,7 +313,10 @@ enum FileType OpenGLCanvas::get_file_type(const char *filename){ void OpenGLCanvas::load_image(const char *new_image){ int width,height; +#ifndef _MSC_VER + // the progname is only used for reading the PNM format const char * const progname=(char*)(PROGNAME); +#endif unsigned char *textureBytes=NULL; int textureSize; switch(get_file_type(new_image)){ @@ -320,12 +326,14 @@ void OpenGLCanvas::load_image(const char *new_image){ textureBytes=(unsigned char*)malloc(textureSize); jpgReadTextureBytes(new_image,textureBytes,&width,&height); break; +#ifndef _MSC_VER case PNM: fprintf(stderr,"input image has PNM format\n"); textureSize=pnmGetTextureSize(progname,new_image); textureBytes=(unsigned char*)malloc(textureSize); pnmReadTextureBytes(progname,new_image,textureBytes,&width,&height); break; +#endif default: // UNKNOWN fprintf(stderr,"%s: unknown file format\n",new_image); exit(-1); @@ -352,14 +360,16 @@ void OpenGLCanvas::initializeGL(){ glDepthFunc(GL_LEQUAL); glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST); +#ifndef _MSC_VER #ifdef __APPLE__ const char * const progname = "PROJ_ROOT_DIR"; #else // progname is a file name or a path??? const char * const progname = (char*)(PROGNAME); #endif - fprintf(stderr,"progname=%s\n",progname); +#endif // MSC_VER + read_config_file(); // If the input file does not exist or was not specified. struct stat testbuf; @@ -599,6 +609,7 @@ void OpenGLCanvas::define_triangle_indices(unsigned int * indices, int m, int n) } +#ifndef _MSC_VER int OpenGLCanvas::pnmGetTextureSize(const char * const progname, const char * texturePath) { struct pam inpam; @@ -657,6 +668,7 @@ void OpenGLCanvas::pnmReadTextureBytes(const char * const progname, pm_close(in_file); } +#endif int OpenGLCanvas::jpgGetTextureSize(const char *texturePath) { diff --git a/openglcanvas.h b/openglcanvas.h index da6c950..522b81d 100644 --- a/openglcanvas.h +++ b/openglcanvas.h @@ -35,11 +35,13 @@ #endif #include "chronos.h" +#ifndef _MSC_VER extern "C" { #include #include #include } +#endif #include @@ -66,8 +68,10 @@ protected: void load_sphere_mesh(float *positions, int m, int n); float calculate_extent(float fov_rads); void define_triangle_indices(unsigned int * indices, int m, int n); +#ifndef _MSC_VER int pnmGetTextureSize(const char *const progname, const char *texturePath); void pnmReadTextureBytes(const char *const progname, const char *texturePath,unsigned char *textureBytes,int *outImageWidth,int *outImageHeight); +#endif int jpgGetTextureSize(const char *texturePath); void jpgReadTextureBytes(const char *texturePath,unsigned char *textureBytes,int *outImageWidth,int *outImageHeight); char *textFileRead(char *fn); diff --git a/pano_interface_1.pro b/pano_interface_1.pro index abe3bf7..49afce7 100644 --- a/pano_interface_1.pro +++ b/pano_interface_1.pro @@ -45,17 +45,18 @@ LIBS += -lm -lglut -lGL -lGLEW -lnetpbm -ljpeg win32 { DEFINES += GLEW_STATIC -INCLUDEPATH += "C:/Program Files (x86)/glew-1.9.0/include" -DEPENDPATH += "C:/Program Files (x86)/glew-1.9.0/include" -INCLUDEPATH += "C:/Program Files (x86)/freeglut/include" -DEPENDPATH += "C:/Program Files (x86)/freeglut/include" -INCLUDEPATH += "C:/Program Files (x86)/GnuWin32/include" -DEPENDPATH += "C:/Program Files (x86)/GnuWin32/include" -LIBS += -L"C:/Program Files (x86)/freeglut/lib" -LIBS += -L"C:/Program Files (x86)/GnuWin32/lib" -LIBS += -L"C:/Program Files (x86)/GnuWin32/bin" -LIBS += -L"C:/Program Files (x86)/glew-1.9.0/lib" -LIBS += -lglew32s -lfreeglut -lglu32 -lopengl32 -llibnetpbm10 +PFROOT = "C:/Program Files" +INCLUDEPATH += $${PFROOT}/glew-1.9.0/include +DEPENDPATH += $${PFROOT}/glew-1.9.0/include +INCLUDEPATH += $${PFROOT}/freeglut/include +DEPENDPATH += $${PFROOT}/freeglut/include +INCLUDEPATH += $${PFROOT}/GnuWin32/include +DEPENDPATH += $${PFROOT}/GnuWin32/include +LIBS += -L$${PFROOT}/freeglut/lib +LIBS += -L$${PFROOT}/GnuWin32/lib +LIBS += -L$${PFROOT}/GnuWin32/bin +LIBS += -L$${PFROOT}/glew-1.9.0/lib +LIBS += -lglew32s -lfreeglut -lglu32 -lopengl32 -ljpeg #-llibnetpbm10 } TARGET = pano_interface_1 -- GitLab