如何在不影响当前分支的情况下获取远程分支并更新该分支的git的本地引用?例如,如果我这样做
$ git pull origin master
Run Code Online (Sandbox Code Playgroud)
origin/master合并到我当前的分支中.这也行不通
$ git fetch origin master
Run Code Online (Sandbox Code Playgroud)
那时我检查一下
$ git branch -r -v
origin/HEAD -> origin/master
origin/master 7cf6ec5 test 02
Run Code Online (Sandbox Code Playgroud)
origin/master ref"7cf6ec5 test 02"落后了.真正的起源/主人是"XXXXXX测试03". git fetch只将更改拉入FETCH_HEAD,它没有上传本地origin/master ref.更新该ref的步骤是什么?
注意:
$ git fetch origin
Run Code Online (Sandbox Code Playgroud)
将获得所有远程引用并更新它们但不幸的是(a)很多混乱.(我不希望别人的30-50个随机分支知道有人不想要我的)和(b)因为分支在原点上删除了那些引用在下次我没有被本地删除git fetch origin这意味着路径结束愚蠢的.
问题是,如何只获取一个分支并在本地更新其ref?
假设我有一个这样的程序
// print-addresses.cpp
#include <stdio.h>
void foo() { }
void bar() { }
void moo() { }
int main(int argc, const char** argv) {
printf("%p\n", foo);
printf("%p\n", bar);
printf("%p\n", moo);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它会打印一些数字
013510F0
013510A0
01351109
Run Code Online (Sandbox Code Playgroud)
如何将这些数字转换回正确的符号?实际上,我希望能够做到这一点
print-addresses > address.txt
addresses-to-symbols < address.txt
Run Code Online (Sandbox Code Playgroud)
并打印出来
foo
bar
moo
Run Code Online (Sandbox Code Playgroud)
我知道这与调试接口访问SDK有关,但我并不完全清楚如何从地址转到符号.
我有一个模型的".obj"和".mtl"文件,我正在加载它OBJMTLLoader.".mtl"指定要应用于模型的纹理,并且three.js加载模型并使用应用的纹理渲染它就好了.
但这就是事情.
一旦加载了一个对象,我想在其上应用另一个纹理.这是因为第一纹理表示对象的表面材质.第二个纹理是一个绘图,我想定位在模型上的特定位置.
我的问题是:如何将第二个纹理应用到已加载(和纹理化)的对象上?
我看到three.js创建了一个实例THREE.Object3D,并且该实例具有带有一个实例的"children"数组THREE.Mesh.
当我尝试将纹理应用于该网格(mesh.material.map = texture)时,我失去了初始纹理.
我查看了关于应用多个纹理和JSONLoader但没有找到答案的问题.
我也尝试过使用new THREE.MeshFaceMaterial( materials )(如本答案所示),但没有成功.
更新:
我试过@WestLangley建议使用多材质对象,但仍然无法在另一个上面渲染一个材质.
我做了这个简单的演示,改编自three.js OBJLoader - http://dl.dropboxusercontent.com/u/822184/webgl_multiple_texture/index.html
我THREE.SceneUtils.createMultiMaterialObject按照建议使用它,传递克隆从.obj加载的主网格的几何体.我也给它2个纹理 - 一个用于整个表面,另一个用于模型的前表面.
但这不起作用.我添加了2个复选框,用于切换相应材料的"可见"属性.你可以看到材料存在,但我看不到第二个下面的第一个.
加载/渲染的关键如下:
var texture = THREE.ImageUtils.loadTexture('fabric.jpg');
var texture2 = THREE.ImageUtils.loadTexture('table.jpg');
texture2.offset.set(-0.65, -2.5);
texture2.repeat.set(4, 4);
var loader = new THREE.OBJLoader();
loader.addEventListener( 'load', function ( event ) {
var mainMesh = event.content.children[0].children[0];
multiMaterialObject = THREE.SceneUtils.createMultiMaterialObject(
mainMesh.geometry.clone(), [
new THREE.MeshLambertMaterial({ map: texture2 …Run Code Online (Sandbox Code Playgroud) 我觉得我在这里缺少一些简单的东西.
我使用了@WestLangley的JSFiddle,它演示了如何将阴影从一个物体投射到一个平面上.
当飞机充满颜色时,一切都按预期工作:
var groundMaterial = new THREE.MeshLambertMaterial({
color: 0xFF0000
});
Run Code Online (Sandbox Code Playgroud)

然后我改为使用纹理代替:
var groundMaterial = new THREE.MeshLambertMaterial({
// color: 0xFF0000,
map: texture
});
Run Code Online (Sandbox Code Playgroud)
突然,阴影消失了:

这发生在MeshPhongMaterial和MeshLambertMaterial.
请注意,相机位置和阴影配置均未更改.一切都保持不变,但阴影消失了.
纹理应该被"告知"接收光还是其他东西?
在r61,r66,r67上测试过.
我知道很多人会因为这个问题而生气但是......
我有一个使用WebGL和Pointer Lock API的游戏.由于很多游戏在CTRL上"蹲伏"的性质,我想知道是否有任何可能的方法来阻止CTRL + S和CTRL + W等浏览器快捷方式......
目前,我不得不严厉禁止控件在其中包含任何CTRL键.我已经将'crouch'设置为C,这也很常见,但我也有关于制作MMORPG风格的游戏的想法,你会有几个能力的动作条,由于CTRL不可行,很多组合是不可能的.
随着SolidWorks 2016的启动,DassaultSystèmes推广了一个新的Web门户,该门户可将Edrawings模型嵌入到网页中:3dcontentcentral.com。他们的Web 3D查看器使用WebGL在浏览器窗口中显示模型(您可以在此处找到一个实时示例)。此外,还可以将iframe与查看器一起嵌入,以将其嵌入到另一个网页中,如下所示:
<iframe scrolling='no' frameborder='0' allowfullscreen='true'
src='http://www.3dcontentcentral.com/external-site-embed.aspx?format=3D&catalogid=364&modelid=1254&width=250&height=250&edraw=true'
name='PreviewFrame3D' id='PreviewFrame3D' width='400' height='355'>
</iframe>
<br/>
<a href='http://www.3dcontentcentral.com/download-model.aspx?catalogid=364&id=1217'>
Download</a>
Run Code Online (Sandbox Code Playgroud)
在最后的结果是一样的东西如下:
因此,有没有机会以相同的方式导出3D模型(零件)并嵌入为WebGL,而无需上传到3D Content Central网站?如果有任何帮助,我也可以访问Edrawings / SolidWorks SDK(2015)。
给定一个Http.IncomingMessage由响应请求而创建的,http(s).Server检测请求是否是 http 与 https 的正确/推荐方法是什么?
一些我不知道的随机想法是否正确
检查端口
// seems wrong - might be using a different port
const isHTTPS = req.socket.address().port === 443;
Run Code Online (Sandbox Code Playgroud)检查套接字是否有证书
// does no cert mean it wasn't https?
const isHTTPS = req.socket.getPeerCertificate &&
request.socket.getPeerCertificate() !== null;
Run Code Online (Sandbox Code Playgroud)检查socket是否有该功能getPeerCertificate
// does no func = !https?
const isHTTPS = req.socket.getPeerCertificate !== undefined;
Run Code Online (Sandbox Code Playgroud)检查套接字是否是tls.TLSSocket
const tls = require('tls');
const isHTTPS = req.socket instanceof tls.TLSSocket;
Run Code Online (Sandbox Code Playgroud)其他?
我已经整理了一个使用jsonloader和three.js显示多个网格的WebGL脚本,现在我想添加MouseOver和onClick事件.第一个是当鼠标悬停在网格上时简单地改变网格的颜色:
function render() {
requestAnimationFrame(render);
mesh.rotation.z += 0.090;
raycaster.setFromCamera(mouse, camera);
var intersects = raycaster.intersectObjects(scene.children);
for (var i = 0; i < intersects.length; i++) {
intersects[i].object.material.color.set(0xff0000);
}
renderer.render(scene, camera);
}
Run Code Online (Sandbox Code Playgroud)
上面的渲染功能允许我将任何网格的颜色悬停在它上面.我已经尝试了几个if/else变体尝试并且只有在鼠标悬停在网格上时才能使用此效果,但我无法使其工作 - 它只是保持红色.任何人都可以建议我如何修改我的脚本?
谢谢.
我用 Three.js 显示一个大小为 700x700 的场景。在这个场景中,我生成了一个随机位置在 -250 到 250 之间的粒子系统(对于 x,y,z),所以盒子的大小是 500x500。
为了计算相机的正确距离(为了适应盒子的全貌),我试过:
<script>
if ( ! Detector.webgl ) Detector.addGetWebGLMessage();
var container, stats;
var camera, controls, scene, renderer;
var cross;
var width = 700, height = 700;
init();
animate();
function init() {
camera = new THREE.PerspectiveCamera( 60, width / height, 1, 1000 );
// tan(pi/6) = 1/sqrt(3) = height/2 / distance_z
camera.position.z = 250*Math.sqrt(3);
...
for(var p = 0; p < particleCount; p++) {
// create a particle with random
// …Run Code Online (Sandbox Code Playgroud) 我有一些恰好是PNG的二进制数据.我想将它变成一个blob,获取blob的URL并将其显示为图像(或者其他任何地方图像URL都有效,如css等...)
这是我尝试过的.首先,我制作了一个带有黄色"F"图像的小型8x8红色正方形,并使用pngcrush将其缩小
你可以看到原来的91字节图像显示得很好(它只有8x8像素)

然后,对于这个示例,我将其转换为JavaScript数组,我将其复制到Uint8Array中,我从中创建一个blob和blob中的URL,将其分配给图像但图像不显示.
var data = new Uint8Array([
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,8,0,0,
0,8,8,2,0,0,0,75,109,41,220,0,0,0,34,73,68,65,84,8,215,99,120,
173,168,135,21,49,0,241,255,15,90,104,8,33,129,83,7,97,163,136,
214,129,93,2,43,2,0,181,31,90,179,225,252,176,37,0,0,0,0,73,69,
78,68,174,66,96,130]);
var blob = new Blob(data, { type: "image/png" });
var url = URL.createObjectURL(blob);
var img = new Image();
img.src = url;
console.log("data length: " + data.length);
document.body.appendChild(img);Run Code Online (Sandbox Code Playgroud)
img { width: 100px; height: 100px; }Run Code Online (Sandbox Code Playgroud)
如何才能将其显示为blob网址?