# HG changeset patch # User John Tsiombikas # Date 1334354051 -10800 # Node ID c27ce79632dbbdd8ede55c13b8f9549ed2f54797 # Parent 53aca477551441f4d0ef7e820bf7f79b1ed463d9 builds on osx with -spec unsupported/macx-clang added a configure script to handle that qmake invocation diff -r 53aca4775514 -r c27ce79632db configure --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configure Sat Apr 14 00:54:11 2012 +0300 @@ -0,0 +1,9 @@ +#!/bin/sh + +sys=`uname -s` + +if [ "$sys" = Darwin ]; then + spec='-spec unsupported/macx-clang' +fi + +qmake $spec diff -r 53aca4775514 -r c27ce79632db qvolray.pro --- a/qvolray.pro Fri Apr 13 15:43:45 2012 +0300 +++ b/qvolray.pro Sat Apr 14 00:54:11 2012 +0300 @@ -9,9 +9,18 @@ QMAKE_CXXFLAGS += -std=c++0x -pedantic } +contains(QMAKE_CXX, clang++) { + QMAKE_CXXFLAGS += -std=c++0x -pedantic +} + unix:LIBS += -lGLEW -limago -lvmath win32:LIBS += -lglew32 -llibimago2 -llibvmath -llibpng -lzlib -ljpeglib +macx { + INCLUDEPATH += /opt/local/include + QMAKE_LIBDIR += /opt/local/lib +} + # Input HEADERS += src/sdr.h src/volray.h src/volume.h src/ui.h SOURCES += src/main.cc src/sdr.c src/volray.cc src/volume.cc src/ui.cc src/demo.cc diff -r 53aca4775514 -r c27ce79632db src/demo.cc --- a/src/demo.cc Fri Apr 13 15:43:45 2012 +0300 +++ b/src/demo.cc Sat Apr 14 00:54:11 2012 +0300 @@ -1,3 +1,4 @@ +#include #include #include "demo.h" #include "sdr.h" @@ -19,18 +20,23 @@ vol->create(SZ, SZ, SZ); volray_setvolume(vol); - glGenFramebuffers(1, &fbo); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); - glFramebufferTexture3D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_3D, + assert(glGenFramebuffersEXT); + assert(glBindFramebufferEXT); + assert(glFramebufferTexture3DEXT); + assert(glCheckFramebufferStatusEXT); + + glGenFramebuffersEXT(1, &fbo); + glBindFramebufferEXT(GL_FRAMEBUFFER, fbo); + glFramebufferTexture3DEXT(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_3D, vol->get_texture(), 0, 0); - unsigned int stat = glCheckFramebufferStatus(GL_FRAMEBUFFER); + unsigned int stat = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER); if(stat != GL_FRAMEBUFFER_COMPLETE) { printf("incomplete framebuffer: %u\n", stat); delete vol; return false; } - glBindFramebuffer(GL_FRAMEBUFFER, 0); + glBindFramebufferEXT(GL_FRAMEBUFFER, 0); return true; } @@ -44,11 +50,11 @@ glPushAttrib(GL_VIEWPORT_BIT); glViewport(0, 0, SZ, SZ); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); + glBindFramebufferEXT(GL_FRAMEBUFFER, fbo); bind_program(sdr_mballs); for(int i=0; iget_texture(), 0, i); float z = (float)i / (float)SZ; @@ -66,7 +72,7 @@ } bind_program(0); - glBindFramebuffer(GL_FRAMEBUFFER, 0); + glBindFramebufferEXT(GL_FRAMEBUFFER, 0); glPopAttrib(); }