Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 11:22

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: AGLDrawable is deprecated
BeitragVerfasst: Di Sep 29, 2009 13:46 
Offline
DGL Member

Registriert: Di Sep 29, 2009 13:28
Beiträge: 3
Hallo alle miteinander,
ich arbeite an einem Programm, das ich nicht selbst geschrieben habe, aber eben ein wenig umgestalten möchte. Dieses Programm benutzt wxWidgets und OpenGL. Es soll ein Fenster erscheinen, in dem ein Simulation stattfinden kann und Buttons gedrückt werden können. Wenn ich das Programm versuche über die Konsole zu kompilieren, erscheint die Fehlermeldung: 'AGLDrawable is deprecated' - ich arbeite an einem Mac-10.5 und habe dann in der agl-Header Datei nachgeschaut und erfahren, dass diese Funktion nicht mehr unterstützt wird. Also habe ich diese durch WindowRef ersetzt. Jetzt hat er keine Probleme mehr und kann kopilieren.
Das Problem nun ist aber, dass, wenn ich die GUI Datei ausführe die folgende Fehlermeldung kommt:

Code:
  1. Last login: Tue Sep 29 14:02:25 on ttys001
  2. /Users/praktikant/Desktop/CancerSim/GUI ; exit;
  3. maggy:~ praktikant$ /Users/praktikant/Desktop/CancerSim/GUI ; exit;
  4. Assertion failed: (0), function aglSetIntegerHIViewRef, file aglHIView.c, line 395.
  5. Abort trap
  6. logout
  7.  
  8. [Prozess beendet]
  9.  


Ich habe keine Ahnung, woran es liegt. Sollte ich mich allgemein von AGL trennen und Quartz benutzen oder so? Davon hab ich aber auch keinen Schimmer, zu mal ich nicht glaube, dass ich das so einfach umwandeln kann. Woran liegt das?
Wenn noch was benötigt wird, bitte Bescheid sagen:

Ich bin für jede Hilfe dankbar! [/pascal]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 29, 2009 16:05 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

so ganz ohne code kann ich dir da leider nicht helfen... AGLDrawable ist deprecated und wurde afaik in 10.6 sogar ganz rausgenommen (in 10.5 war es halt 'nur' deprecated).

Was verstehst du unter "habe es durch WindowRef ersetzt"?
Und wo bekommst du die WindowRef her? Liefert die wxWidget das?

Und generell.. erstellst du den context etc selbst, oder macht wxWidget das?


Ansonsten kann ich nur sagen, von AGL trennen mußt du dich nicht unbedingt.. es ist allerdings teil der Carbon API welche leider mittlerweile nichtmehr groß weiterentwickelt wird (z.B. kannst du via Carbon keine 64bit programme erstellen).

Es empfiehlt sich daher auf Cocoa umzusteigen (Objective-C, kann aber problemlos mit C++ code gemixt werden) und sogar den context via Cocoa zu erstellen (NSOpenGLContext).


Ich hatte anfangs auch alles via Carbon/AGL gemacht, nur leider stößt man da schnell an die grenzen des machbaren (nicht unbedingt bei AGL, sondern eher bei Carbon...)


Also, wenn du bei AGL bleiben willst zeig mal ein wenig mehr code, bzw erklär genauer was du wie wo warum ausgetauscht hast etc.

Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 30, 2009 09:45 
Offline
DGL Member

Registriert: Di Sep 29, 2009 13:28
Beiträge: 3
okay, ich zeig dir mal die Files, in denen agl verwendet wird:
glcanvas.cc
Code:
  1.  
  2. #include "wx/wxprec.h"
  3.  
  4. #if defined(__BORLANDC__)
  5.     #pragma hdrstop
  6. #endif
  7.  
  8. #if wxUSE_GLCANVAS
  9.  
  10. #include "wx/glcanvas.h"
  11.  
  12. #ifndef WX_PRECOMP
  13.     #include "wx/frame.h"
  14.     #include "wx/log.h"
  15.     #include "wx/settings.h"
  16. #endif
  17.  
  18. #include "wx/mac/uma.h"
  19.  
  20. // DLL options compatibility check:
  21. #include "wx/build.h"
  22. WX_CHECK_BUILD_OPTIONS("wxGL")
  23.  
  24. #include "wx/mac/private.h"
  25.  
  26. /*
  27. * GLContext implementation
  28. */
  29.  
  30. wxGLContext::wxGLContext(
  31.                          AGLPixelFormat fmt, wxGLCanvas *win,
  32.                          const wxPalette& palette,
  33.                          const wxGLContext *other        /* for sharing display lists */
  34.                          )
  35. {
  36.     m_window = win;
  37. #ifndef __LP64__
  38.     m_drawable = (WindowRef) UMAGetWindowPort(MAC_WXHWND(win->MacGetTopLevelWindowRef()));
  39. #endif
  40.  
  41.     m_glContext = aglCreateContext(fmt, other ? other->m_glContext : NULL);
  42.     wxCHECK_RET( m_glContext, wxT("Couldn't create OpenGl context") );
  43.  
  44.     GLboolean b;
  45. #ifndef __LP64__
  46.     b = aglSetWindowRef(m_glContext, m_drawable);
  47.     aglEnable(m_glContext , AGL_BUFFER_RECT ) ;
  48. #else
  49.     b = aglSetWindowRef(m_glContext, (WindowRef) win->GetHandle());
  50. #endif
  51.     wxCHECK_RET( b, wxT("Couldn't bind OpenGl context") );
  52.     b = aglSetCurrentContext(m_glContext);
  53.     wxCHECK_RET( b, wxT("Couldn't activate OpenGl context") );
  54. }
  55.  
  56. wxGLContext::~wxGLContext()
  57. {
  58.     if (m_glContext)
  59.     {
  60.         aglSetCurrentContext(NULL);
  61.         aglDestroyContext(m_glContext);
  62.     }
  63. }
  64.  
  65. void wxGLContext::SwapBuffers()
  66. {
  67.     if (m_glContext)
  68.     {
  69.         aglSwapBuffers(m_glContext);
  70.     }
  71. }
  72.  
  73. void wxGLContext::SetCurrent()
  74. {
  75.     if (m_glContext)
  76.     {
  77.         aglSetCurrentContext(m_glContext);
  78.     }
  79. }
  80.  
  81. void wxGLContext::Update()
  82. {
  83.     if (m_glContext)
  84.     {
  85.         aglUpdateContext(m_glContext);
  86.     }
  87. }
  88.  
  89. void wxGLContext::SetColour(const wxChar *colour)
  90. {
  91.     wxColour col = wxTheColourDatabase->Find(colour);
  92.     if (col.Ok())
  93.     {
  94.         float r = (float)(col.Red()/256.0);
  95.         float g = (float)(col.Green()/256.0);
  96.         float b = (float)(col.Blue()/256.0);
  97.         glColor3f( r, g, b);
  98.     }
  99. }
  100.  
  101.  
  102. /*
  103. * wxGLCanvas implementation
  104. */
  105.  
  106. IMPLEMENT_CLASS(wxGLCanvas, wxWindow)
  107.  
  108. BEGIN_EVENT_TABLE(wxGLCanvas, wxWindow)
  109.     EVT_SIZE(wxGLCanvas::OnSize)
  110. END_EVENT_TABLE()
  111.  
  112. wxGLCanvas::wxGLCanvas(wxWindow *parent, wxWindowID id,
  113.                        const wxPoint& pos, const wxSize& size, long style, const wxString& name,
  114.                        int *attribList, const wxPalette& palette)
  115. {
  116.     Create(parent, NULL, id, pos, size, style, name, attribList, palette);
  117. }
  118.  
  119. wxGLCanvas::wxGLCanvas( wxWindow *parent,
  120.                        const wxGLContext *shared, wxWindowID id,
  121.                        const wxPoint& pos, const wxSize& size, long style, const wxString& name,
  122.                        int *attribList, const wxPalette& palette )
  123. {
  124.     Create(parent, shared, id, pos, size, style, name, attribList, palette);
  125. }
  126.  
  127. wxGLCanvas::wxGLCanvas( wxWindow *parent, const wxGLCanvas *shared, wxWindowID id,
  128.                        const wxPoint& pos, const wxSize& size, long style, const wxString& name,
  129.                        int *attribList, const wxPalette& palette )
  130. {
  131.     Create(parent, shared ? shared->GetContext() : NULL, id, pos, size, style, name, attribList, palette);
  132. }
  133.  
  134. wxGLCanvas::~wxGLCanvas()
  135. {
  136.     if (m_glContext != NULL) {
  137.         delete m_glContext;
  138.         m_glContext = NULL;
  139.     }
  140. }
  141.  
  142. static AGLPixelFormat ChoosePixelFormat(const int *attribList)
  143. {
  144.     GLint data[512];
  145.     GLint defaultAttribs[] = { AGL_RGBA,
  146.         AGL_DOUBLEBUFFER,
  147.         AGL_MINIMUM_POLICY,
  148.         AGL_DEPTH_SIZE, 1,  // use largest available depth buffer
  149.         AGL_RED_SIZE, 1,
  150.         AGL_GREEN_SIZE, 1,
  151.         AGL_BLUE_SIZE, 1,
  152.         AGL_ALPHA_SIZE, 0,
  153.         AGL_NONE };
  154.     GLint *attribs;
  155.     if (!attribList)
  156.     {
  157.         attribs = defaultAttribs;
  158.     }
  159.     else
  160.     {
  161.         int arg=0, p=0;
  162.  
  163.         data[p++] = AGL_MINIMUM_POLICY; // make _SIZE tags behave more like GLX
  164.         while( (attribList[arg]!=0) && (p<512) )
  165.         {
  166.             switch( attribList[arg++] )
  167.             {
  168.             case WX_GL_RGBA: data[p++] = AGL_RGBA; break;
  169.             case WX_GL_BUFFER_SIZE:
  170.                 data[p++]=AGL_BUFFER_SIZE; data[p++]=attribList[arg++]; break;
  171.             case WX_GL_LEVEL:
  172.                 data[p++]=AGL_LEVEL; data[p++]=attribList[arg++]; break;
  173.             case WX_GL_DOUBLEBUFFER: data[p++] = AGL_DOUBLEBUFFER; break;
  174.             case WX_GL_STEREO: data[p++] = AGL_STEREO; break;
  175.             case WX_GL_AUX_BUFFERS:
  176.                 data[p++]=AGL_AUX_BUFFERS; data[p++]=attribList[arg++]; break;
  177.             case WX_GL_MIN_RED:
  178.                 data[p++]=AGL_RED_SIZE; data[p++]=attribList[arg++]; break;
  179.             case WX_GL_MIN_GREEN:
  180.                 data[p++]=AGL_GREEN_SIZE; data[p++]=attribList[arg++]; break;
  181.             case WX_GL_MIN_BLUE:
  182.                 data[p++]=AGL_BLUE_SIZE; data[p++]=attribList[arg++]; break;
  183.             case WX_GL_MIN_ALPHA:
  184.                 data[p++]=AGL_ALPHA_SIZE; data[p++]=attribList[arg++]; break;
  185.             case WX_GL_DEPTH_SIZE:
  186.                 data[p++]=AGL_DEPTH_SIZE; data[p++]=attribList[arg++]; break;
  187.             case WX_GL_STENCIL_SIZE:
  188.                 data[p++]=AGL_STENCIL_SIZE; data[p++]=attribList[arg++]; break;
  189.             case WX_GL_MIN_ACCUM_RED:
  190.                 data[p++]=AGL_ACCUM_RED_SIZE; data[p++]=attribList[arg++]; break;
  191.             case WX_GL_MIN_ACCUM_GREEN:
  192.                 data[p++]=AGL_ACCUM_GREEN_SIZE; data[p++]=attribList[arg++]; break;
  193.             case WX_GL_MIN_ACCUM_BLUE:
  194.                 data[p++]=AGL_ACCUM_BLUE_SIZE; data[p++]=attribList[arg++]; break;
  195.             case WX_GL_MIN_ACCUM_ALPHA:
  196.                 data[p++]=AGL_ACCUM_ALPHA_SIZE; data[p++]=attribList[arg++]; break;
  197.             default:
  198.                 break;
  199.             }
  200.         }
  201.         data[p] = 0;
  202.  
  203.         attribs = data;
  204.     }
  205.  
  206.     return aglChoosePixelFormat(NULL, 0, attribs);
  207. }
  208.  
  209. bool wxGLCanvas::Create(wxWindow *parent, const wxGLContext *shared, wxWindowID id,
  210.                         const wxPoint& pos, const wxSize& size, long style, const wxString& name,
  211.                         int *attribList, const wxPalette& palette)
  212. {
  213.     m_macCanvasIsShown = false ;
  214.     m_glContext = 0 ;
  215.     wxWindow::Create( parent, id, pos, size, style, name );
  216.  
  217.     AGLPixelFormat fmt = ChoosePixelFormat(attribList);
  218.     wxCHECK_MSG( fmt, false, wxT("Couldn't create OpenGl pixel format") );
  219.  
  220.     m_glContext = new wxGLContext(fmt, this, palette, shared);
  221.     m_macCanvasIsShown = true ;
  222.     aglDestroyPixelFormat(fmt);
  223.  
  224.     return true;
  225. }
  226.  
  227. void wxGLCanvas::SwapBuffers()
  228. {
  229.     if (m_glContext)
  230.         m_glContext->SwapBuffers();
  231. }
  232.  
  233. void wxGLCanvas::UpdateContext()
  234. {
  235.     if (m_glContext)
  236.         m_glContext->Update();
  237. }
  238.  
  239. void wxGLCanvas::SetViewport()
  240. {
  241. #ifndef __LP64__
  242.     // viewport is initially set to entire port
  243.     // adjust glViewport to just this window
  244.     int x = 0 ;
  245.     int y = 0 ;
  246.  
  247.     wxWindow* iter = this ;
  248.     while( iter->GetParent() )
  249.     {
  250.         iter = iter->GetParent() ;
  251.     }
  252.  
  253.     if ( iter && iter->IsTopLevel() )
  254.     {
  255.         MacClientToRootWindow( &x , &y ) ;
  256.         int width, height;
  257.         GetClientSize(& width, & height);
  258.         Rect bounds ;
  259. #if 0
  260.         // TODO in case we adopt point vs pixel coordinates, this will make the conversion
  261.         GetWindowPortBounds( MAC_WXHWND(MacGetTopLevelWindowRef()) , &bounds ) ;
  262.         HIRect hiRect = CGRectMake( x, y, width, height ) ;
  263.         HIRectConvert( &hiRect, kHICoordSpace72DPIGlobal, NULL, kHICoordSpaceScreenPixel, NULL) ;
  264.         HIRect hiBounds = CGRectMake( 0, 0, bounds.right - bounds.left , bounds.bottom - bounds.top ) ;
  265.         HIRectConvert( &hiBounds, kHICoordSpace72DPIGlobal, NULL, kHICoordSpaceScreenPixel, NULL) ;
  266.         GLint parms[4] ;
  267.         parms[0] = hiRect.origin.x ;
  268.         parms[1] = hiBounds.size.height - (hiRect.origin.y + hiRect.size.height) ;
  269.         parms[2] = hiRect.size.width ;
  270.         parms[3] = hiRect.size.height ;
  271. #else
  272.         GetWindowPortBounds( MAC_WXHWND(MacGetTopLevelWindowRef()) , &bounds ) ;
  273.         GLint parms[4] ;
  274.         parms[0] = x ;
  275.         parms[1] = bounds.bottom - bounds.top - ( y + height ) ;
  276.         parms[2] = width ;
  277.         parms[3] = height ;
  278. #endif
  279.         if ( !m_macCanvasIsShown )
  280.             parms[0] += 20000 ;
  281.         aglSetInteger( m_glContext->m_glContext , AGL_BUFFER_RECT , parms ) ;
  282.         aglUpdateContext(m_glContext->m_glContext);
  283.    }
  284. #endif
  285. }
  286.  
  287. void wxGLCanvas::OnSize(wxSizeEvent& event)
  288. {
  289.     MacUpdateView() ;
  290. }
  291.  
  292. void wxGLCanvas::MacUpdateView()
  293. {
  294.     if (m_glContext)
  295.     {
  296.         SetViewport();
  297.     }
  298. }
  299.  
  300. void wxGLCanvas::MacSuperChangedPosition()
  301. {
  302.     MacUpdateView() ;
  303.     wxWindow::MacSuperChangedPosition() ;
  304. }
  305.  
  306. void wxGLCanvas::MacTopLevelWindowChangedPosition()
  307. {
  308.     MacUpdateView() ;
  309.     wxWindow::MacTopLevelWindowChangedPosition() ;
  310. }
  311.  
  312. void wxGLCanvas::SetCurrent()
  313. {
  314.     if (m_glContext)
  315.     {
  316.         m_glContext->SetCurrent();
  317.     }
  318. }
  319.  
  320. void wxGLCanvas::SetColour(const wxChar *colour)
  321. {
  322.     if (m_glContext)
  323.         m_glContext->SetColour(colour);
  324. }
  325.  
  326. bool wxGLCanvas::Show(bool show)
  327. {
  328.     if ( !wxWindow::Show( show ) )
  329.         return false ;
  330.    
  331.     // call directly to avoid redraw glitches
  332.     MacVisibilityChanged();
  333.  
  334.     return true ;
  335. }
  336.  
  337. void wxGLCanvas::MacVisibilityChanged()
  338. {
  339.     if ( MacIsReallyShown() != m_macCanvasIsShown )
  340.     {
  341.         m_macCanvasIsShown = !m_macCanvasIsShown;
  342.         MacUpdateView();
  343.     }
  344.     wxWindowMac::MacVisibilityChanged() ;
  345. }
  346.  
  347. //---------------------------------------------------------------------------
  348. // wxGLApp
  349. //---------------------------------------------------------------------------
  350.  
  351. IMPLEMENT_CLASS(wxGLApp, wxApp)
  352.  
  353. bool wxGLApp::InitGLVisual(int *attribList)
  354. {
  355.     AGLPixelFormat fmt = ChoosePixelFormat(attribList);
  356.     if (fmt != NULL) {
  357.         aglDestroyPixelFormat(fmt);
  358.         return true;
  359.     } else
  360.         return false;
  361. }
  362.  
  363. wxGLApp::~wxGLApp(void)
  364. {
  365. }
  366.  
  367. #endif // wxUSE_GLCANVAS
  368.  


und glcanvas.h
Code:
  1. #ifndef _WX_GLCANVAS_H_
  2. #define _WX_GLCANVAS_H_
  3.  
  4. #include "wx/defs.h"
  5.  
  6. #if wxUSE_GLCANVAS
  7.  
  8. #include "wx/palette.h"
  9. #include "wx/scrolwin.h"
  10. #include "wx/app.h"
  11.  
  12. #ifdef __DARWIN__
  13. #  include <OpenGL/gl.h>
  14. #  include <AGL/agl.h>
  15. #else
  16. #  include <gl.h>
  17. #  include <agl.h>
  18. #endif
  19.  
  20. class WXDLLEXPORT wxGLCanvas;     /* forward reference */
  21.  
  22. class WXDLLEXPORT wxGLContext: public wxObject
  23. {
  24. public:
  25.    wxGLContext(AGLPixelFormat fmt, wxGLCanvas *win,
  26.                const wxPalette& WXUNUSED(palette),
  27.                const wxGLContext *other        /* for sharing display lists */
  28.     );
  29.    virtual ~wxGLContext();
  30.  
  31.    void SetCurrent();
  32.    void Update();  // must be called after window drag/grows/zoom or clut change
  33.    void SetColour(const wxChar *colour);
  34.    void SwapBuffers();
  35.  
  36.  
  37.    inline wxWindow* GetWindow() const { return m_window; }
  38.    inline WindowRef aglGetWindowRef(AGLContext m_glContext) const { return m_drawable; }
  39.  
  40. public:
  41.    AGLContext       m_glContext;
  42.    WindowRef      m_drawable;
  43.    wxWindow*        m_window;
  44. };
  45.  
  46. class WXDLLEXPORT wxGLCanvas: public wxWindow
  47. {
  48.    DECLARE_CLASS(wxGLCanvas)
  49.  public:
  50.    wxGLCanvas(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition,
  51.         const wxSize& size = wxDefaultSize, long style = 0,
  52.         const wxString& name = wxT("GLCanvas") , int *attribList = 0, const wxPalette& palette = wxNullPalette);
  53.    wxGLCanvas( wxWindow *parent, const wxGLContext *shared,
  54.         wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition,
  55.         const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxT("GLCanvas"),
  56.           int *attribList = (int*) NULL, const wxPalette& palette = wxNullPalette );
  57.  
  58.    wxGLCanvas( wxWindow *parent, const wxGLCanvas *shared, wxWindowID id = wxID_ANY,
  59.         const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0,
  60.         const wxString& name = wxT("GLCanvas"), int *attribList = 0, const wxPalette& palette = wxNullPalette );
  61.  
  62.    virtual ~wxGLCanvas();
  63.  
  64.    bool Create(wxWindow *parent, const wxGLContext *shared, wxWindowID id,
  65.                const wxPoint& pos, const wxSize& size, long style, const wxString& name,
  66.            int *attribList, const wxPalette& palette);
  67.  
  68.    void SetCurrent();
  69.    void SetColour(const wxChar *colour);
  70.    void SwapBuffers();
  71.    void UpdateContext();
  72.    void SetViewport();
  73.    virtual bool Show(bool show = true) ;
  74.  
  75.    // Unlike some other platforms, this must get called if you override it.
  76.    // It sets the viewport correctly and update the context.
  77.    // You shouldn't call glViewport yourself either (use SetViewport if you must reset it.)
  78.    void OnSize(wxSizeEvent& event);
  79.  
  80.    virtual void MacSuperChangedPosition() ;
  81.    virtual void MacTopLevelWindowChangedPosition() ;
  82.    virtual void         MacVisibilityChanged() ;
  83.  
  84.    void MacUpdateView() ;
  85.  
  86.    inline wxGLContext* GetContext() const { return m_glContext; }
  87.  
  88. protected:
  89.     wxGLContext*   m_glContext;
  90.     bool m_macCanvasIsShown ;
  91. DECLARE_EVENT_TABLE()
  92. };
  93.  
  94. #endif // wxUSE_GLCANVAS
  95. #endif // _WX_GLCANVAS_H_
  96.  


WindowRef ist in agl.h auch deklariert
Ausschnitt aus agl.h
Code:
  1. /*
  2. ** Drawable Functions
  3. *
  4. *  Note:
  5. *   aglSetDrawable / aglGetDrawable have been deprecated use aglGetWindowRef or aglSetHIViewRef
  6. */
  7. extern GLboolean aglSetDrawable(AGLContext ctx, AGLDrawable draw) DEPRECATED_FOR_MAC_OS_X_VERSION_10_5_AND_LATER;
  8. extern AGLDrawable aglGetDrawable(AGLContext ctx) DEPRECATED_FOR_MAC_OS_X_VERSION_10_5_AND_LATER;
  9.  
  10. /*
  11. ** WindowRef Functions
  12. */
  13. extern GLboolean aglSetWindowRef(AGLContext ctx, WindowRef window) AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER;
  14. extern WindowRef aglGetWindowRef(AGLContext ctx) AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER;
  15.  
  16. /*
  17. ** HIViewRef Functions
  18. */
  19. extern GLboolean aglSetHIViewRef(AGLContext ctx, HIViewRef hiview) AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER;
  20. extern HIViewRef aglGetHIViewRef(AGLContext ctx) AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER;
  21.  
  22.  


Hoffe, das hilft weiter!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 30, 2009 09:47 
Offline
DGL Member

Registriert: Di Sep 29, 2009 13:28
Beiträge: 3
achso, wxWidgets erstellt den context


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 30, 2009 15:41 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

umh.. ich finde in dem code keine AGLDrawable aufrufe (ausser in der agl.h halt..)

Allerdings, ich habe keine ahnung von wxWidgets... und ich fürchte, da wird mehr auf dich zukommen als einfach nur AGLDrawable durch WindowRef auszutauschen..

Schonmal geschaut ob es nicht ein update von wxWidgets zu dem thema gibt?


Allerdings, es ist ja nur deprecated.. sprich du kannst es im moment noch problemlos nutzen.

Aya~


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 15 Queries | GZIP : On ]