因此,场景包括地球在其轴上旋转,月球绕地球旋转,右侧有光源,有助于模拟日食的影响。我认为这很容易,因为我们之前已经完成了阴影和转换,但我遇到了问题。
在我们的模板中,我们在顶部有以下内容:
IF @@ERROR <> 0
BEGIN
RETURN 0;
END
ELSE
BEGIN
RETURN 1;
END;
我的问题是,当我这样离开时,聚光灯不会出现在场景中。但是,正如警告的那样,如果我激活// For the assignment where a texture is required you should
// deactivate the Detector and use ONLY the CanvasRenderer. There are some
// issues in using waht are called Cross Domain images for textures. You
// can get more details by looking up WebGL and CORS using Google search.
// if ( Detector.webgl )
// var renderer = new THREE.WebGLRenderer();
// else
var renderer = new THREE.CanvasRenderer();
,纹理将无法正常工作。
但我需要纹理和聚光灯。我该如何解决这个问题?
答案 0 :(得分:0)
你自己很困惑。 Detector.webgl仅在浏览器上检查WebGL的支持。如果当前浏览器支持WebGL和CanvasRenderer(如果没有WebGL支持),则下面的代码使用WebGL渲染器。
if ( Detector.webgl )
var renderer = new THREE.WebGLRenderer();
else
var renderer = new THREE.CanvasRenderer();
使用WebGL - 加载纹理将遇到跨域问题。最好在Web服务器或本地服务器上执行代码,例如Windows的http://www.wampserver.com/en/或Mac的https://www.mamp.info/en/。或者像https://github.com/tapio/live-server这样的npm-package。
据我所知,CSSCanvasRender不支持阴影。我会请你的任务负责人澄清一下。