//
// 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_CONFIG_H
+# include <simgear_config.h>
+#endif
+
#ifdef HAVE_WINDOWS_H
# include <windows.h>
#endif
-#include <stdlib.h>
-#include <stdio.h>
-
-#include <plib/ssg.h>
-
#include "jpgfactory.hxx"
-
+#include <string.h>
#ifdef __cplusplus
extern "C" {
}
#endif
+// OSGFIME: offscreenrendering on osg - completely new context ...
typedef struct {
struct jpeg_destination_mgr pub; /* public fields */
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;
int trJpgFactory::render()
{
- if( !tr ) {
+ if( !tr || !jpgRenderFrame ) {
printf("!! NO tr !!\n trJpgFactory::render()\n");
return 0;
}
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
- sgFrustum *frustum = ssgGetFrustum();
- trFrustum(tr,
- frustum->getLeft(), frustum->getRight(),
- frustum->getBot(), frustum->getTop(),
- frustum->getNear(), frustum->getFar());
-
/* just to be safe... */
glPixelStorei(GL_PACK_ALIGNMENT, 1);
// printf("\ttrBeginTile(tr)\n");
trBeginTile(tr);
- trRenderFrame();
+ jpgRenderFrame();
trEndTile(tr);
/* just to be safe */