小编gma*_*man的帖子

在Babylon.js中加载.obj和.stl

我想使用Babylon.js加载一个由用户上传的文件.我环顾四周但只能找到加载巴比伦场景文件的例子.

有没有办法直接用Babylon.js加载.obj和/或.stl文件而不必将它们转换为.babylon文件?

谢谢.

babylonjs

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

如何使用本地eslint插件来使用本地安装的eslint

根据文档插件应该工作,如果他们是名为"eslint-plugin-"的npm模块

这是一个遵循该模式的插件.来源就在这里.

所以,我们制作了一个新项目

md foo
cd foo
npm init
... answer questions ..
npm install --save-dev eslint
npm install --save-dev eslint-plugin-require
echo "define(function(){});" > test.js
echo "{\"rules\":{\"require\": 2}}" > conf.json
node node_modules/eslint/bin/eslint.js -c conf.json --plugin eslint-plugin-require test.js
Run Code Online (Sandbox Code Playgroud)

产生

~/node_modules/eslint/lib/eslint.js:569
                throw new Error("Definition for rule '" + key + "' was not
                      ^
Error: Definition for rule 'require' was not found. 
Run Code Online (Sandbox Code Playgroud)

将配置更改为

echo "{\"rules\":{\"eslint-plugin-require\": 2}}" > conf.json
Run Code Online (Sandbox Code Playgroud)

也不

echo "{\"rules\":{\"require-define\": 2}}" > conf.json
Run Code Online (Sandbox Code Playgroud)

也不

echo "{\"rules\":{\"require-require-define\": 2}}" > …
Run Code Online (Sandbox Code Playgroud)

javascript node.js eslint

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

渐变clearColor in threejs

我可以在threejs中获得一个可靠的clearColor,但有没有办法实现渐变clearColor.或者用一些类似的方法在我的天空中实现更深的深度,也许还有灯光?

这是我的相关代码:

renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setClearColor( 0x3dc800 );

var light = new THREE.HemisphereLight( 0xffffff, 0xeeeeee, 0.75 );
  light.position.set( 0.5, 1, 0.75 );
  scene.add( light );

scene.fog = new THREE.Fog( 0x4ff904, 0, 750 );
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

javascript three.js

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

为什么在这种情况下v8会耗尽内存?

根据node.js文档,节点在32位版本上具有512meg限制,在64位版本上具有1.4gig限制.Chrome AFAICT的限制类似.(+/- 25%)

那么,为什么当代码永远不会使用超过424美分的内存时,这段代码会耗尽内存?

这是代码(代码是无意义的.这个问题不是代码在做什么,而是关于代码失败的原因).

var lookup = 'superCaliFragilisticExpialidosiousThispartdoesnotrealllymattersd';
function encode (num) {
  return lookup[num];
}

function makeString(uint8) {
  var output = '';

  for (var i = 0, length = uint8.length; i < length; i += 3) {
    var temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]);
    output += encode(temp >> 18 & 0x3F) + encode(temp >> 12 & 0x3F) + encode(temp >> 6 & 0x3F) + encode(temp & 0x3F);
  } …
Run Code Online (Sandbox Code Playgroud)

javascript garbage-collection google-chrome v8 node.js

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

未初始化的内存用于调试的常见值是什么?

很久以前我学会了填充未使用/未初始化的内存,0xDEADBEEF以便在调试器或崩溃报告中,如果我看到这个值,我知道我正在看未初始化的内存.我从iOS使用的崩溃报告中看到了0xBBADBEEF.

人们使用了哪些其他创造性价值观?任何特定的价值观都有任何特定的好处吗?

变成单词的价值观最明显的好处是,至少在大多数人中,如果单词是用他们的语言,那么他们很容易突出,因为某些严格的数值不太可能突出.

但是,也许有其他理由选择数字?例如,奇数可能会使处理器(68000)崩溃,例如在某些内存访问时崩溃,因此最好选择0x0BADBEEF一下0xBADBEEF0.他们的任何其他值(可能是处理器特定的)是否具有用于未初始化内存的具体好处?

c c++ memory debugging assembly

6
推荐指数
2
解决办法
657
查看次数

从矢量 3 点数据在 3D 模型上创建热图

我正在尝试在从 OBJ(或 STL)加载的 3D 模型之上渲染平面、动态创建的热图。

我目前正在使用 Three.js 加载和渲染 OBJ。我有 Vector3 点,目前正在将其绘制为简单的红色立方体(下图)。这些数据点都被光线投射到我的 OBJ 网格上并且位于表面上。Vector3 点是从外部数据源加载的,并将根据正在查看/收集的数据而变化。

点

我想将我的 vector3 点数据渲染到 OBJ 表面的热图中。以下是一些示例,说明了我试图实现的视觉效果类型:

例子1

例子2

例子3

例子5

我觉得顶点着色是实现此目的的方法,但我的问题是我的 OBJ 模型没有足够的曲面细分来执行此操作。正如你所看到的,每张脸上都有许多红点。我正在努力寻找一种方法来在我的对象网格上绘制与我的红点数据完全相同的颜色。我假设我需要将随机向量 3 点转换为网格,但找不到方法来执行此操作。

我已经研究过生成纹理的可能性,但是 1)我没有 OBJ 的 UV 贴图,也没有找到以编程方式生成它们的方法,2)我对如何关联向量 3 点有点迷失数据到 UV 点。

我考虑过使用着色器,但我的 vector3 点数据对于使用着色器来说似乎太大了(可能有数十万个点)。我还觉得每帧渲染热图并不是正确的方法,而宁愿只在加载时渲染一次。

我研究了点云和行进立方体算法的等值面,但我认为这不是正确的方向,因为只有我的数据有点像点云,而且我不确定如何保持这种平滑沿着我的 OBJ 网格的表面。

虽然我更愿意将所有内容保留在 JavaScript 中以便在浏览器中查看,但我愿意使用 REST 以任何语言/程序进行服务器端处理,只要它可以在无需人工干预的情况下实现自动化,并推送回浏览器进行渲染。

任何建议或指导表示赞赏。

data-visualization heatmap point-clouds three.js

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

用于构建 Pixi Spritesheet 的数据需要什么格式?

我想利用PIXI.Spritesheet某种纹理或精灵集合来在 pixi 应用程序中使用。

let spritesheetTexture = PIXI.utils.TextureCache["my-spritesheet-image.png"];
let data = ??????
let spritesheet = new PIXI.Spritesheet(spritesheetTexture, data);
Run Code Online (Sandbox Code Playgroud)

不幸的是,除了“对象”和“Spritesheet 图像数据”之外, pixi 文档没有给出参数需要采用什么格式的指示data。我也找不到此类的任何实际例子。

javascript pixi.js

6
推荐指数
2
解决办法
2575
查看次数

如何实现这种运动模糊着色效果?

我尝试创建雪效果,就像这个链接http://blog.edankwan.com/post/my-first-christmas-experiment底部的那个.其他一切工作正常但是不能使运动模糊效果起作用.有任何想法吗?

用于实现运动模糊效果的纹理精灵

在此输入图像描述

这是代码:

(function(global) {

  var img = 'https://i.imgur.com/hlmsgWA.png'

  var renderer, scene, camera
  var w = 800, h = 320
  var uniforms
  
  var geometry
  var texture, material
  var gui
  var conf = {
    amount: 200,
    speed: 0.5,
    time: 0
  }

  var obj = {
    init: function() {
      renderer = new THREE.WebGLRenderer({
        antialias: true
      })
      renderer.setPixelRatio(window.devicePixelRatio)
      renderer.setSize(w, h)
      camera = new THREE.Camera
      scene = new THREE.Scene()

      geometry = new THREE.BufferGeometry()

      var positions = []
      
      for(var i = 0, l …
Run Code Online (Sandbox Code Playgroud)

javascript shader glsl webgl three.js

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

PixiJS:未正确绘制圆角矩形

绘制圆角矩形后,角不是完美的圆角。角被像素化:

在此处输入图片说明

如何在没有像素化角的情况下绘制正确的圆角矩形?这是我的代码:

var graphics = new PIXI.Graphics();
graphics.beginFill(0x3e494b);
graphics.lineStyle(4, 0x0, .3);
graphics.drawRoundedRect(
    x,
    y,
    width,
    height,
    30
);
graphics.endFill();
Run Code Online (Sandbox Code Playgroud)

javascript pixi.js

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

关于全局变量/全局命名空间的 JavaScript 策略

今天我遇到了top一个预先存在的全局变量的问题。

const left = 1;
const right = 2;
const top = 3;
const bottom = 4;
console.log(left, right, top, bottom);
Run Code Online (Sandbox Code Playgroud)

结果:

Uncaught SyntaxError: Identifier 'top' has already been declared
Run Code Online (Sandbox Code Playgroud)

我想我一直很幸运,直到今天我大部分时间top都在函数内部使用被调用的变量。

我有多少需要担心浏览器添加新的全局变量会在未来破坏代码?似乎直到 es6 import 几乎所有浏览器库都使用全局变量,除非它们有构建步骤。但是,看看这个top例子,浏览器似乎可以随时添加新的不可设置的全局变量,因此应该不惜一切代价避免它们。我看到一些诸如HTMLElement可分配之类的变量。

Uncaught SyntaxError: Identifier 'top' has already been declared
Run Code Online (Sandbox Code Playgroud)

结果:

function HTMLElement() { [native code] }
foo
Run Code Online (Sandbox Code Playgroud)

top一些遗留的东西,但浏览器规范承诺在未来不会做更多的事情吗?就像我不能分配window

console.log(HTMLElement);
HTMLElement = 'foo';
console.log(HTMLElement);
Run Code Online (Sandbox Code Playgroud)

结果:

SyntaxError: Identifier 'window' has already been declared
Run Code Online (Sandbox Code Playgroud)

但我可以process在节点中分配

Welcome …
Run Code Online (Sandbox Code Playgroud)

javascript specifications language-lawyer

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