【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

openGL作为事实上的3d标准,可以在不同的os平台上使用。但是openGL一般需要用c进行开发,有所不便。然而,随着WebGL的推出,人们开始发现可以使用js编写3d程序,利用浏览器将3d效果渲染出来。这其中,three.js作为支持WebGL的一个基本3d库,使用的最为广泛。针对three.js,建议大家直接到官网学习相关知识,效果最为明显。本篇文章只是抛砖迎玉,给大家一个直观的概念和代码展示。

<!DOCTYPE html>
<html>
<head><title></title><style>canvas { width: 100%; height: 100% }</style><script src="http://sqimg.qq.com/qq_product_operations/mma/javanli_test/lib/three.min.js"></script>
</head>
<body><script>var scene = new THREE.Scene();var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);var renderer = new THREE.WebGLRenderer();renderer.setSize(window.innerWidth, window.innerHeight);document.body.appendChild(renderer.domElement);var geometry = new THREE.CubeGeometry(1,1,1);var material = new THREE.MeshBasicMaterial({color: 0x00ff00});var cube = new THREE.Mesh(geometry, material); scene.add(cube);camera.position.z = 5;function render() {requestAnimationFrame(render);cube.rotation.x += 0.1;cube.rotation.y += 0.1;renderer.render(scene, camera);}render();</script>
</body>
</html>

上面的代码最为简单,大家可以直接使用。其中js文件引用了qq服务器上的一个静态文件,主要的代码包含在<script></script>当中,大家可以根据自己的要求灵活进行修改。

ps:

之所以注意到WebGL的内容,还是因为在百度apollo开源代码中看到了相关提示。事实上,根据项目来学不同的语言、框架、软件,这样往往效率最高。这也是我最近的感觉和体会。此外,使用js这些脚本开发应用,确实在效率和便捷性上面有很大的优势,这些都是系统编程语言所缺少的。

js学习(three.js脚本)相关推荐

  1. JS学习--用JS读取本地文件

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...

  2. Node.js学习-01node.js的下载安装

    一.官网下载 Node.js中文地址:http://nodejs.cn/ 使用稳定版本,推荐下载12版的(node-v12.18.4-x64.msi) 不要装14版.不建议装最新版本 二.安装Node ...

  3. js学习总结----js中常用的四种输出方式

    1.alert('内容') 在浏览器中弹出框显示我们的内容    不输入内容弹出undefined  (注意alert弹出的都是字符串) 2.document.write('内容')  在页面中输出显 ...

  4. JS学习笔记——入门基础知识总结

    JS入门基础知识总结1 前言 基础背景知识 一.产生历史: 二.特点: 三.应用方向: 四.Javascript组成: JavaScript书写使用方式 一.行内式(了解即可,项目中不使用,日常练习尽 ...

  5. node.js学习随笔

    Node的文件和文件系统API位于fs模块中: var fs=require("fs")//加载文件系统API 同步读取文件,通过传递编码获得文本而非字节: var text = ...

  6. backbone.js学习笔记

    backbone.js学习笔记 之前只接触过jQuery,看来Backbone是除了jQuery的第二大JS框架... backbone到底是个啥? 其实刚开始我也不知道=_=,我是这周二才听说居然还 ...

  7. node.js学习总结

    NodeJS介绍 1.概述: Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎 进行了封装,它主要用于创建快速的.可扩展的网 ...

  8. require.js学习记录

    1.简介 官方对requirejs的描述: RequireJS is a JavaScript file and module loader. It is optimized for in-brows ...

  9. vue.js视频课程_在此免费课程中学习Vue.js! ✨

    vue.js视频课程 by ZAYDEK 由ZAYDEK 在此免费课程中学习Vue.js! ✨ (Learn Vue.js in this free course! ?✨) 让我们做点Vueseful ...

  10. Angular.js学习-入门

    官方文档 https://angular.io/guide/quickstart 一.Angular.js是什么? Angular.js是一款为了克服HTML在构建应用上的不足而设计的优秀的前端JS框 ...

最新文章

  1. gossip协议与memberlist实现
  2. Java的深拷贝和浅拷贝
  3. 【十二省联考2019】字符串问题【后缀自动机】【拓扑排序】
  4. Linux sed命令实例详解
  5. Pentium 4处理器架构/微架构/流水线 (4) - NetBurst框图
  6. 基于微型计算机系统的实时时钟设计,基于51单片机的实时时钟设计报告.doc
  7. 中国联通也来“爆料”:多款5G手机将于9月上市 包括小米、vivo等
  8. 电脑故障扫描修复软件_非常时期不出门,自己在家修电脑,三例常见电脑故障排除方法。...
  9. ORACLE异常处理及函数
  10. Linux下运行JAVA程序——JRE安装和配置
  11. 公共云存储服务的可扩展性和性能
  12. Excel函数公式大全—IF函数
  13. 经常眩晕,可能是不痛的偏头痛
  14. 用python读取tif格式图像
  15. 【动态系统的建模与分析】一阶系统的单位阶跃响应+时间常数-笔记
  16. 拓嘉启远:拼多多月卡有哪两种?如何区别
  17. 并发问题中的乐观锁和悲观锁
  18. ubuntu18.04 设置字体样式, 调整字体大小
  19. 【C语言】结构体-求出学生的平均成绩放在成员ave中
  20. 最大连接数与每ip连接数的限制

热门文章

  1. Spring Cloud中如何保证各个微服务之间调用的安全性
  2. Zedboard安装桌面系统ubuntu及opencv(2)
  3. Android单元测试 - Sqlite、SharedPreference、Assets、文件操作 怎么测?
  4. Android的手机震动
  5. 团部培训笔记-设计模式-《2013-11-27 代理模式》
  6. Android中AppWidget的分析与应用:AppWidgetProvider .
  7. string equals int
  8. Lnmp上安装Yaf学习(一)
  9. Android开发之TextView的滚动显示
  10. 15-07-06 定闹钟