JSFIDDLE 动力 Threejs 功能探秘

JSFIDDLE 助力 WebGL 功能探秘

太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的漂亮人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino。否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

下面演示样例能产生基本几何体的阴影投射,还有还有一份代码。是无法投射的,和本份能投射的代码。相差点儿相同,但确始终不得其法,需进一步核对,才干知道详细差异在哪里,哪些关键的部位起了阴影投射的作用。

还是静下心来,把每一行代码搞清楚吧,这才是捷径!

往往追求捷径的结果。就是盲人摸象,最后,越摸越离谱。连最初的无意识界都没有了。

所以佛祖告诫我们,要追求本真。象孩童一样。

事实上。就是去除妄念和推測。实事求是地按事情本来的面目去考虑问题,才不会被妄端推測出来的东西影响你的心绪,以至偏离正途,生出事端来。

在微信中流传的一条信息,大概意思是。仅仅要你想了,就会去不知不觉地做。做了就会产生效果。效果持续久了,就会变成习惯,习惯多了就形成性格,而性格决定着命运。

所以,要想改变,首先从想法開始改变。

这不算是唯心主义论吧,有时侯感觉,纯粹的唯物主义,往往让人们忽略和人的思维和潜意识对物质世界的改变。

而人类之所以差别于动物。最概本的就在于。人类是能够通过思维来改变其自身世界的状态,当然了。这状态。也是物质世界固有存在的多种选择之中的一个。但至少是能够选择的。

而我们假设不加以掌控的话,就会变成了随机选择,物质世界的状态有好有坏,随机选择的结果可想而知。全然是不好状态的可能也不是没有。

综上所述,人类的高级。就在于,能够通过思考指导行动,终于改变默认的选择项,而优先选择有利的选项。

http://jsfiddle.net/4Txgp/13/embedded

var SCREEN_WIDTH = window.innerWidth - 100;
var SCREEN_HEIGHT = window.innerHeight - 100;

var camera, scene;
var canvasRenderer, webglRenderer;

var container, mesh, geometry, plane;

var windowHalfX = window.innerWidth / 2;
var windowHalfY = window.innerHeight / 2;

init();
animate();

function init() {

    container = document.createElement(‘div‘);
    document.body.appendChild(container);

    camera = new THREE.PerspectiveCamera(30, window.innerWidth / window.innerHeight, 1, 100000);
    camera.position.x = 1200;
    camera.position.y = 1000;
    camera.lookAt({
        x: 0,
        y: 0,
        z: 0
    });

    scene = new THREE.Scene();

    var groundMaterial = new THREE.MeshPhongMaterial({
        color: 0x6C6C6C
    });
    plane = new THREE.Mesh(new THREE.PlaneGeometry(500, 500), groundMaterial);
    plane.rotation.x = -Math.PI / 2;
    plane.receiveShadow = true;

    scene.add(plane);

    // LIGHTS
    scene.add(new THREE.AmbientLight(0x666666));

    var light;

    light = new THREE.DirectionalLight(0xdfebff, 1.75);
    light.position.set(300, 400, 50);
    light.position.multiplyScalar(1.3);

    light.castShadow = true;
    light.shadowCameraVisible = true;

    light.shadowMapWidth = 512;
    light.shadowMapHeight = 512;

    var d = 200;

    light.shadowCameraLeft = -d;
    light.shadowCameraRight = d;
    light.shadowCameraTop = d;
    light.shadowCameraBottom = -d;

    light.shadowCameraFar = 1000;
    light.shadowDarkness = 0.2;

    scene.add(light);

    var boxgeometry = new THREE.CubeGeometry(100, 100, 100);
    var boxmaterial = new THREE.MeshLambertMaterial({
        color: 0x0aeedf
    });
    var cube = new THREE.Mesh(boxgeometry, boxmaterial);
    cube.castShadow = true;
    cube.position.x = 0;
    cube.position.y = 100;
    cube.position.z = 0;

    scene.add(cube);

    // RENDERER
    webglRenderer = new THREE.WebGLRenderer();
    webglRenderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
    webglRenderer.domElement.style.position = "relative";
    webglRenderer.shadowMapEnabled = true;
    webglRenderer.shadowMapSoft = true;

    container.appendChild(webglRenderer.domElement);
    window.addEventListener(‘resize‘, onWindowResize, false);
}

function onWindowResize() {
    windowHalfX = window.innerWidth / 2;
    windowHalfY = window.innerHeight / 2;

    camera.aspect = window.innerWidth / window.innerHeight;
    camera.updateProjectionMatrix();

    webglRenderer.setSize(window.innerWidth, window.innerHeight);
}

function animate() {
    var timer = Date.now() * 0.0002;
    camera.position.x = Math.cos(timer) * 1000;
    camera.position.z = Math.sin(timer) * 1000;
    requestAnimationFrame(animate);
    render();
}

function render() {
    camera.lookAt(scene.position);
    webglRenderer.render(scene, camera);
}

JSFIDDLE 动力 Threejs
功能探秘

时间: 2024-10-12 01:46:47

JSFIDDLE 动力 Threejs 功能探秘的相关文章

JSFIDDLE 助力 Threejs 功能探秘

JSFIDDLE 助力 WebGL 功能探秘 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 以下示例能产生基本几何体的阴影投射,还有另一份代码,是无法投射的,和本份能投射的代码,相差不多,但确

线粒体

https://zh.wikipedia.org/wiki/%E7%B7%9A%E7%B2%92%E9%AB%94 规范控制 NDL: 00567726 各地中文名称 透射电子显微镜(TEM)下哺乳动物肺组织中的两个线粒体. 大陆 线粒体 台湾 粒线体 港澳 线粒体 典型的细胞图解,其中显示了几种主要细胞器及一些重要细胞结构:1.核仁 2.细胞核 3.核糖体4.囊泡 5.糙面内质网 6.高尔基体 7.细胞骨架8.光面内质网 9.线粒体 10.液泡 11.细胞质12.溶酶体 13.中心粒 线粒体或

深圳36岁IT男猝死的背后

“目前深圳速度已经成为常态,希望张斌一路走好,天堂没有加班.”在张斌的纪念网站上,一位游客留下了这句话.昨日,一则“清华学子张斌36岁过劳猝死”的帖子在朋友圈被转发,帖子的主人公张斌,现年36岁,生于1979年,籍贯河南,生前居住在深圳,清华大学计算机专业学士.清华大学计算机应用专业工程硕士. “目前智能机中国厂商占据全球市场份额达到了50 竣付通,全网最可靠的支付方式,最好的服务,最高的效率,最大的效益,给我们一个机会,给您一个惊喜!!!   第三方支付   竣付通qq2908669165 游

动力节点Java培训告诉你Java线程的多功能用法

现在的java开发可谓是八仙过海各显神通啊!遥想当下各种编程语言萎靡不振,而我Java开发异军突起,以狂风扫落叶之态,作为Java培训行业的黄埔军校,为了守护Java之未来,特意总结了一些不被人所熟知的一些方法,让你的Java开发融会贯通,baby们GO!GO!GO! 我们再回到Thread类.程序中的每个线程都会有一个状态,要么是用户状态,要么是守护状态.换句话说,要么是前台线程要么是后台线程.主线程默认是用户线程,每个新线程都会从创建它的线程中继承线程状态.因此如果你把一个线程设置成守护线程

可视化工具gephi源码探秘(二)

在上篇<可视化工具gephi源码探秘(一)>中主要介绍了如何将gephi的源码导入myeclipse中遇到的一些问题,此篇接着上篇而来,主要讲解当下通过myeclipse导入gephi源码的可行性不高以及熟悉netbeans,并把原本基于netbeans平台开发的gephi源码导入进netbeans后启动正常运行的过程,其中有遇到的不少问题和相应的解决方法. 前日工作梗概(还是沿着想把源码导入myeclipse的思路): 经过从各大子模块的pom.xml中筛选出符合条件的jar包写入项目下的p

探秘Tomcat——从一个简陋的Web服务器开始

前言: 无论是之前所在实习单位小到一个三五个人做的项目,还是如今一个在做的百人以上的产品,一直都能看到tomcat的身影.工作中经常遇到的操作就是启动和关闭tomcat服务,或者修改了摸个java文件,编译该文件,将生成的class文件塞到tomcat目录下相应的jar包中去,以使其生效,但是也可以热部署,不需要这么繁琐的操作. 总之,一直以来都是习惯了tomcat的存在,没有深究tomcat的运行机制和原理,上一次对于tomcat源码的跃跃欲试还是去年的事儿了——<探秘Tomcat(一)——M

探秘启明星辰大数据安全分析平台

经过10年的发展,中国在高速铁路的建设和发展上取得了举世瞩目的成就,目前已经拥有全世界最大规模以及最高运营速度的高速铁路网.从最早的时速 100公里的“东风号”内燃机车到最新的最高时速486公里的“和谐号”高速动车,中国铁路技术实现了快速跨越式发展,局部技术上已经走在了世界的前列. 同样,在信息安全领域,启明星辰公司也集安全分析和安全管理平台技术之大成,十年磨一剑,率先在国内推出了大数据安全分析平台,一举将中国信息安全分析和安全管理从“东风”号内燃机时代带入了“和谐”号高速铁路时代. 让我们来了

探秘Tomcat——启动篇

tomcat作为一款web服务器本身很复杂,代码量也很大,但是模块化很强,最核心的模块还是连接器Connector和容器Container.具体请看下图: 从图中可以看出 a. 高亮的两块是Connector和Container,为什么说他们两最核心,其中Connector是负责接收http请求,当你在浏览器中输入URL为http://www.demon.com,这样的http请求就会被Connector接收并转发给容器Container. 到了Container后,会经过不同的容器层有: En

全功能HTRI 7.0换热器计算软件

全功能HTRI 7.0换热器计算软件 HTRI.Xchanger.suite.V6.00换热器计算    能够对圆筒炉和方箱炉的性能进行模拟计算. Xfh 使用Hottel的区域法来计算加热炉各部位的热辐射和工艺侧的性能.与内含的燃烧室和对流室模型一起能够对燃烧式加热炉进行全面的性能评价.能够对板框式换热器进行设计, 核算和模拟计算, 可以使用自定义板型或者内置的制造厂数据库内的板型:Xist 支持包括所有的标准TEMA类型的计算,并且集成了流动导致的震动计算, 管子排布工具等等.进行空冷器和经