glColor4f无法设置颜色?

时间:2017-03-16 14:02:43

标签: c++ opengl

在我的一个特定案例的申请中 glColor4f()无效。

  1. 如果我使用glGetFloatv(GL_CURRENT_COLOR, color);,则会返回之前设置的颜色值。

  2. 我的当前对象使用之前的设置颜色进行渲染。

  3. 如果我将glFlush()放在glColor4f()之前,它就能正常运作。

    当我使用gDebugger,xCaptain或Visual Studio调试我的应用程序时,上述问题也无法重现。

    我该如何处理确切问题?

    (来自评论)

    glPixelStorei(GL_UNPACK_ALIGNMENT,1) ; 
    for (int i = nb_point - 1; i >= 0; i--) { 
        glRasterPos3f ( point[j], point[j+1], point[j+2]);
        glBitmap ( 9, 9, 4.0, 4.0, 0.0, 0.0, fontbits[symbol]); j += 3; 
    }
    

1 个答案:

答案 0 :(得分:3)

为光栅命令设置颜色时,您必须记住它们实际上使用了不同的状态变量 - urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^i18n/', include('django.conf.urls.i18n')), url(r'^myapp_o/', include('apps.myapp_o.urls')), ] urlpatterns += i18n_patterns( # PayPal Express integration... url(r'^checkout/paypal/', include('paypal.express.urls')), # Dashboard views for Payflow Pro url(r'^dashboard/paypal/payflow/', include(payflow.urls)), # Dashboard views for Express url(r'^dashboard/paypal/express/', include(express_dashboard.urls)), url(r'', include('apps.myapp_o.urls')), ) 而不是GL_CURRENT_RASTER_COLOR

当调用i18n_patterns时,栅格颜色会精确获取当前设置颜色的值。

  

当前栅格位置还包括一些相关的颜色数据和纹理坐标。如果启用了照明,则GL_CURRENT_COLOR(在RGBA模式下)或GL_CURRENT_RASTER_COLOR(在颜色索引模式下)设置为照明计算产生的颜色(...)如果禁用照明,则为当前颜色(在RGBA模式下,状态变量GL_CURRENT_RASTER_INDEX)或颜色索引(在颜色索引模式下,状态变量GL_CURRENT_COLOR)用于更新当前的栅格颜色。

我不确定为什么GL_CURRENT_INDEX正在帮助任何事情。您可能需要缩小代码范围以仅重现问题。