Skip to main content
 首页 » 编程设计

python之Pywebkitgtk Three.js 无法检测到 WebGL

2025年05月04日23lexus

背景:

  • 操作系统:Fedora 16
  • GPU:nVidia Corporation GF106 [GeForce GT 555M SDDR3](rev a1)
  • python :2.7.2
  • pywebkit-gtk: pywebkitgtk.x86_64:1.1.8-1.fc16, webkitgtk-devel.x86_64 0:1.6.1-1.fc16

Python 使用 pywebkitgtk 生成一个基本的网络浏览器,在此过程中将以下设置设置为 True。

setting = webkit.WebView.get_settings(); 
 
settings.set_property("enable-scripts", True) 
settings.set_property("enable-webgl", True) 
settings.set_property("enable-universal-access-from-file-uris", True) 
settings.set_property("enable-developer-extras", True) 

问题:

浏览器生成没有错误。下面的JS被加载到浏览器中:

if( Detector.webgl ){                                                                                                                
    renderer = new THREE.WebGLRenderer({                                                                                                                   
        antialias: true,             // to get smoother output                                                                                                  
        preserveDrawingBuffer: true  // to allow screenshot                                                                                             
    });       
    renderer.setClearColorHex( 0xBBBBBB, 1 );                                                                                                                                              
} else {                                                                                                                 
    Detector.addGetWebGLMessage();                       
    return true;                                                                                                                   
}  

Detector.webgl 为假

如果我在 Chrome Detector.webgl 中运行包含上述 JS 代码的 index.html 为 True。

这似乎是一个 pywebkitgtk 问题,有人可以帮忙吗?

请您参考如下方法:

请检查您使用的 webkitgtk 包是否启用了 WebGL(很可能没有)。运行时设置并不意味着它会自动打开。