小编Jac*_*zen的帖子

手动编辑几何后的三个JS没有可视化更新

所以我有一个Geometry(这段代码的范围是THREE.Geometry.prototype),我正在动态编辑.newData是{faces:[数组面索引],顶点:[顶点索引数组]}的对象.(这些数组保持原始面的长度和顶点数组的长度并保持形式[null,null,null,"4","5",null,null ...])

使用这些数组,我剥离所有面和顶点并将它们应用于2个新数组中的1个,有效地将所有数据拆分为2个组.我还更新了脸上的指针!

最后我知道我已经更新了几何图形并且它是正确的,但是我所做的更改没有显示出来.我尝试过.elementsNeedUpdate导致错误.(在InitWebGlObjects中没有未定义的属性'a'我看了那里,看不到对a的引用)

我试过顶点需要更新,它什么也没做.

我还尝试将updateCentroids与之前的工具结合使用.它什么都不做.

我听说无法调整缓冲区的大小.什么是缓冲区和缓冲区的长度?我给模型的顶点数量?

我已经看过"你可以通过预先分配更大的缓冲区然后保持不需要的顶点折叠/隐藏来模拟调整大小." 听起来这可能就是我在做什么?如何折叠/隐藏顶点?我没有看到任何提及.

谢谢你的时间!

        var oldVertices = this.vertices
        var oldFaces = this.faces;

        var newVertices = []
        var newFaces = [];

        var verticeChanges = [];

        this.vertices = [];
        this.faces = [];        


        for(var i in oldVertices){
            var curAr = ((newData.vertices[i]) ? (newVertices):(this.vertices));
            curAr.push(oldVertices[i]);
            verticeChanges[i] = curAr.length-1;
        }

        for(var i in oldFaces){
            var curAr = ((newData.faces[i]) ? (newFaces):(this.faces));
            oldFaces[i].a = verticeChanges[oldFaces[i].a];
            oldFaces[i].b = verticeChanges[oldFaces[i].b];
            oldFaces[i].c = verticeChanges[oldFaces[i].c];
        }
        console.log('Vertices Cut from', oldVertices.length, "to:", newVertices.length, 'and', this.vertices.length);
        console.log('Faces …
Run Code Online (Sandbox Code Playgroud)

javascript webgl three.js

7
推荐指数
1
解决办法
1345
查看次数

在 Three.js 中使用基本纹理材质时出现异常的抗锯齿

在下面的代码中,我使用正交相机和映射为平面几何体的纹理的画布来设置一个非常基本的场景。

我将一些白色文本放在透明画布上,如果我使用 canvas.toDataURL(),则不会出现效果。

然而,当我将画布内容作为纹理应用到材质上并在超标准的 2d 场景中渲染它时,一条黑线勾勒出我的文本,这可能是奇怪的抗锯齿现象发生的结果。在这个例子中,渲染器清晰的颜色、材质和文字都是纯白色的。

这是一个屏幕截图:截屏

var camera = new THREE.OrthographicCamera(window.innerWidth / - 2,
                                          window.innerWidth / 2, 
                                          window.innerHeight / 2, 
                                          window.innerHeight / - 2, 0, 10);

var scene = new THREE.Scene();

canvas = document.createElement('canvas');
canvas.width = 300;
canvas.height = 300;

var context = canvas.getContext('2d');

context.fillStyle = "white";
context.font = "bold 72px Arial";
context.fillText("Zibri", 50, 100);        

var texture = new THREE.Texture(canvas);
var geometry = new THREE.PlaneGeometry(canvas.width, canvas.height);

texture.needsUpdate = true;

var material = new THREE.MeshBasicMaterial({ color: 0xffffff, map: texture, transparent: …
Run Code Online (Sandbox Code Playgroud)

javascript webgl three.js

5
推荐指数
1
解决办法
3911
查看次数

通过SMTP注入电子邮件的额外信息

我遇到了一个非常奇怪的问题。我有一个golang服务器,并且正在使用net / smtp发送电子邮件。一切顺利,直到我们意识到一些额外的信息被注入到电子邮件中,并且雅虎开始忽略我们的电子邮件。无论如何,为我们的信息主体发送的信息是:

From: test@withheld.com
To: me@gmail.com
Subject: Testing
MIME-version: 1.0;
Content-Type: text/html; charset="UTF-8";
<html>
     <b> Testing </b>
</html>
Run Code Online (Sandbox Code Playgroud)

然后将其发送到Amazon SES,我们用来发送电子邮件的帐户托管在godaddy上。当电子邮件到达时,我使用gmail显示了原始邮件正文,我得到了:

From: test@withheld.com
To: me@gmail.com
Subject: Testing
MIME-version: 1.0;
Content-Type: text/html; charset="UTF-8";

<html>
    <b> Testing </b>
</html>
Date: Wed, 29 Oct 2014 11:00:56 +0000
Message-ID: <[Lots of Numbers]@email.amazonses.com>
X-SES-Outgoing: [Some Numbers]
Feedback-ID: us-east-1.[numbers]=:AmazonSES
Run Code Online (Sandbox Code Playgroud)

因此,将这4个附加字段添加到我们的邮件正文中,我认为这会导致我们被标记为垃圾邮件或更糟(雅虎是残酷的)。有人知道这4行可以添加到何处吗?绝对看起来像是SES,但我对Godaddy的信任要少得多。

(在某些点上,我们的正文有不同的间距,然后信息将被注入到消息正文中的随机位置中)

email smtp go amazon-web-services amazon-ses

1
推荐指数
1
解决办法
680
查看次数