Buenas gente,<div><br></div><div>estoy portando algunas partes del código de &quot;introrob&quot; al componente básico, ahora mismo estoy portando la parte de openGL para añadir un mundo en 3D tal cual estaba en introrob. La cuestión es que me ha surgido un problema con una parte del código que no termino de entender, a ver si me podéis echar una mano.</div>
<div><br></div><div>Con gran parte del código ya portado, compilado y enlazado satisfactoriamente, cuando me dispongo a ejecutar obtengo el siguiente error:</div><div><br></div><div><div><i>(&lt;unknown&gt;:29392): Gtk-CRITICAL **: gtk_widget_unrealize: assertion `GTK_IS_WIDGET (widget)&#39; failed</i></div>
<div><i><br></i></div><div><i>(&lt;unknown&gt;:29392): GtkGLExt-CRITICAL **: gtk_widget_set_gl_capability: assertion `GTK_IS_WIDGET (widget)&#39; failed</i></div><div><i>No Gl capability</i></div></div><div><br></div><div>
Mirando el código me encuentro con lo siguiente:</div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre">                </span>Glib::RefPtr&lt;Gdk::GL::Config&gt; glconfig = Gdk::GL::Config::create(Gdk::GL::MODE_RGB | Gdk::GL::MODE_DEPTH | Gdk::GL::MODE_DOUBLE);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>if (!glconfig) {</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>std::cerr &lt;&lt; &quot;*** Cannot find the double-buffered visual.\n&quot; &lt;&lt; &quot;*** Trying single-buffered visual.\n&quot;;</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>// Try single-buffered visual</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>glconfig = Gdk::GL::Config::create(Gdk::GL::MODE_RGB | Gdk::GL::MODE_DEPTH);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>if (!glconfig) {</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>std::cerr &lt;&lt; &quot;*** Cannot find any OpenGL-capable visual.\n&quot;;</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                </span>std::exit(1);</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>}</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>/*Set OpenGL-capability to the widget.*/</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>this-&gt;unrealize();</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>if(!this-&gt;set_gl_capability(glconfig) || !this-&gt;is_gl_capable()) {</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span><b><u>std::cerr &lt;&lt; &quot;No Gl capability\n&quot;;</u></b></div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>std::exit(1);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>}</div></div><div><br></div><div>No tengo muchos conocimientos acerca de OpenGL, alguien me podría precisar un poco cuál puede ser la causa de que el flujo de ejecución se vaya por:</div>
<div><br></div><div><div><div><span class="Apple-tab-span" style="white-space:pre">                </span>if(!this-&gt;set_gl_capability(glconfig) || !this-&gt;is_gl_capable()) {</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span><b><u>std::cerr &lt;&lt; &quot;No Gl capability\n&quot;;</u></b></div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>std::exit(1);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>}</div></div></div><div><br></div><div><br></div><div><br></div><div>
Un saludo y gracias!!</div><div><br></div><div>Maikel.</div><div id="-chrome-auto-translate-plugin-dialog" style="background-image:initial!important;background-color:transparent!important;padding-top:0px!important;padding-right:0px!important;padding-bottom:0px!important;padding-left:0px!important;margin-top:0px!important;margin-right:0px!important;margin-bottom:0px!important;margin-left:0px!important;overflow-x:visible!important;overflow-y:visible!important;text-align:left!important;background-repeat:initial initial!important">
<div style><div class="translate"></div><div class="additional"></div></div><img src="http://www.google.com/uds/css/small-logo.png" onclick="document.location.href=&#39;http://translate.google.com/&#39;;" style="position: absolute !important; z-index: -1 !important; right: 1px !important; top: -20px !important; cursor: pointer !important;-webkit-border-radius: 20px; background-color: rgba(200, 200, 200, 0.3) !important; padding: 3px 5px 0 !important; margin: 0 !important;"></div>