]> git.mxchange.org Git - simgear.git/blobdiff - simgear/screen/jpgfactory.cxx
Modified Files:
[simgear.git] / simgear / screen / jpgfactory.cxx
index b21d5adec6f7c744344e6ffcf4754099e522d11c..a5160cfc17fd1ccf09479e1241ff10c3023b32f6 100644 (file)
 //
 // You should have received a copy of the GNU General Public License
 // along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
-// $Id:
+// $Id$
 
 
 #ifdef HAVE_WINDOWS_H
 #  include <windows.h>
 #endif
 
-#include <stdlib.h>
-#include <stdio.h>
-
-#include <plib/ssg.h>
-
 #include "jpgfactory.hxx"
    
 
@@ -45,6 +40,7 @@ static boolean empty_output_buffer (j_compress_ptr cinfo);
 }
 #endif
 
+// OSGFIME: offscreenrendering on osg - completely new context ...
 
 typedef struct {
     struct jpeg_destination_mgr pub; /* public fields */
@@ -57,8 +53,7 @@ typedef struct {
 
 typedef my_destination_mgr * my_dest_ptr;
 
-/* Where should this go <simgear/screen/tr.h> ?? */
-extern void trRenderFrame( void );
+void (*jpgRenderFrame)(void) = NULL;
 
 trJpgFactory::trJpgFactory() {
     imageWidth = imageHeight = 0;
@@ -233,7 +228,7 @@ int trJpgFactory::compress()
 
 int trJpgFactory::render()
 {
-    if( !tr ) {
+    if( !tr || !jpgRenderFrame ) {
         printf("!! NO tr !!\n   trJpgFactory::render()\n");
         return 0;
     }
@@ -242,7 +237,8 @@ int trJpgFactory::render()
     glMatrixMode(GL_MODELVIEW);
     glLoadIdentity();
 
-    sgFrustum *frustum = ssgGetFrustum();
+    // OSGFIXME
+//     sgFrustum *frustum = ssgGetFrustum();
     trFrustum(tr,
               frustum->getLeft(), frustum->getRight(),
               frustum->getBot(),  frustum->getTop(), 
@@ -253,7 +249,7 @@ int trJpgFactory::render()
 
     // printf("\ttrBeginTile(tr)\n");
     trBeginTile(tr);
-    trRenderFrame();
+    jpgRenderFrame();
     trEndTile(tr);
 
     /* just to be safe */