我用OpenGL画的简单3D图怎么在X×00或GF6×××系列的显卡上运行时,实体图上各个面的线都被画出来了,四边形的一条对角线也被显示出来,在其他的一些卡上就不会有。
请问是不是还要打开或关闭某些功能呀?

解决方案 »

  1.   

    如果程序是相同的,也就是说相同的exe和外部资源在不同电脑上运行的话:
       怀疑一: 你的程序当中对于顶点法向量的设置有问题
                导致光照计算的时候,共面的三角形的顶点不同,光照效果不同,形成有线的假象
       怀疑二: opengl的驱动有问题
      

  2.   

    happy__888([顾问团]寻开心) ( ) 
     怀疑一: 你的程序当中对于顶点法向量的设置有问题
                导致光照计算的时候,共面的三角形的顶点不同,光照效果不同,形成有线的假象
    ==========================================
    这个我可以保证!多谢您的关注!
      

  3.   

    代码如果不长,可以贴出来看看
    opengl的库是否各个电脑上都一致?毕竟它有好几个不同版本的呢
      

  4.   

    alphapaopao(炮炮[www.alphasun.org]图形学) 
    可能存在 z-fighting
    =========================================
    Rafier使劲的点头ing!
    高手:知道怎么解决不?
      

  5.   

    有两种途径解决 z-fighting 的难看图像
    1,使用 polygon offset
    2,在绘制线条的时候 disable depth test
      

  6.   

    奇怪啊,按照泡泡的解释,应该是z精度不足的问题
    可是atix00和geforce6×××是高端的显示卡,z精度不会比一般的差
    再说了,z精度是创建设备的时候指定的,这个方面应该没有差异才对
    解决z精度的问题也可以通过加大近裁剪距离,或者减少远裁剪距离的方式来解决
      

  7.   

    ai~~
    知道是什么问题了!
    我打开了glEnable(GL_POLYGON_SMOOTH);
    关掉就没有这个现象了。可是不打开,画的3D图又极为不爽,郁闷!