`

Webgl开发技巧汇总

阅读更多

1、限制最小值

 

var random = Math.random()*100;
//  限制最小时间为3000ms
var time = Math.max(3000,(random*40));

 

2、将HTML元素做为材质对象使用

 

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

context.globalAlpha = 1;
context.font = "bold 14pt 微软雅黑";
context.textAlign = "center";
context.textBaseline = "middle";
context.fillStyle = "#FFFFFF";
context.fillText('Text',0, 0);

var texture = new THREE.Texture(canvas);
texture.needsUpdate = true;

 

 3、轨迹移动

 

var spline = new THREE.Spline([
	new THREE.Vector3(-100, 100, 100)
	new THREE.Vector3(100, -100, 100)
	new THREE.Vector3(100, 100, -100)
]);

var sprite = new THREE.Sprite();

var tween = new TWEEN.Tween({value: 0)
	.to( { value: 1 }, 2000 )
	.onUpdate(function (){
		current_point = this.line.getPoint(this.value);
		sprite.position = new THREE.Vector3(current_point.x, current_point.y, current_point.z);
	})
	.easing( TWEEN.Easing.Exponential.InOut );
tween.start();

 

 4、阴影的三个必要条件:渲染器、光源、物体

 

renderer.shadowMapEnabled = true;
light.castShadow = true;
obj.receiveShadow = true;  //可选,如果为true,物体将接受由光照引起的其他物体的阴影
obj.castShadow = true;

 

 5、各向异性过滤

 

 

var maxAnisotropy = renderer.getMaxAnisotropy();

var texture1 = THREE.ImageUtils.loadTexture( "textures/crate.gif" );
var material1 = new THREE.MeshPhongMaterial( { color: 0xffffff, map: texture1 } );

texture1.anisotropy = maxAnisotropy;
texture1.wrapS = texture1.wrapT = THREE.RepeatWrapping;
texture1.repeat.set( 512, 512 );

var texture2 = THREE.ImageUtils.loadTexture( "textures/crate.gif" );
var material2 = new THREE.MeshPhongMaterial( { color: 0xffffff, map: texture2 } );

texture2.anisotropy = 1;
texture2.wrapS = texture2.wrapT = THREE.RepeatWrapping;
texture2.repeat.set( 512, 512 );

 

 6、纹理过滤方式:最近点采样(Nearest)、线性过滤(Linear)

分享到:
评论

相关推荐

    WEBGL开发教程

    WebGL开发教程主要涉及如何利用WebGL技术在网页上实现3D图形的绘制和交互。WebGL是一种允许网页使用GPU硬件加速的3D图形API,它通过JavaScript与OpenGL ES 2.0结合,为HTML5 Canvas元素提供了强大的3D绘图能力。...

    webGL开发指南文档

    通过深入学习这本“WebGL开发指南文档”,你将掌握WebGL的核心概念和技术,具备开发交互式3D Web应用程序的能力。无论是游戏开发、数据可视化还是艺术创作,WebGL都将打开一扇通向无限可能的大门。

    WebGL 开发介绍.zip

    1. `WebGL 开发介绍.ppt`:可能包含WebGL的基本概念、语法和实例的介绍。 2. `code`:可能包含示例代码,帮助理解WebGL编程。 3. `video`:视频教程可能更直观地展示WebGL的实际操作和效果。 4. `doc`:文档可能提供...

    利用HTML5CSS3和WebGL开发HTML5游戏.zip

    HTML5、CSS3和WebGL是现代网页开发的三大核心技术,它们共同为创建交互式、图形丰富的HTML5游戏提供了强大的支持。在这个压缩包中,很可能包含了一系列教程、代码示例和资源,帮助开发者掌握如何利用这些技术来构建...

    WebGL 开发介绍.ppt(不含video)

    这个“WebGL 开发介绍.ppt”文件显然是一份关于WebGL开发的教程或演讲稿,它可能包含了从基础知识到高级技术的详细讲解。由于描述中提到了一个博客链接,这暗示了作者可能在博客文章中进一步探讨了WebGL的相关内容,...

    webgl.zip_WebGL怎么下载_webgl_webgl开发工具_webgl示例

    下面我们将深入探讨WebGL的下载方式、基本原理、开发工具以及示例中的知识点。 首先,关于"WebGL怎么下载",实际上,WebGL并不需要单独下载,因为它已经集成在现代的Web浏览器中,如Chrome、Firefox、Safari和Edge...

    webgl 开发3d

    WebGL的主要开发资源包括Tony Parisi的“WebGL: Up and Running”一书,该书详细介绍了WebGL的基础知识和高级技术。作者Tony Parisi是Web3D的共同创造者,也是VRML(虚拟现实建模语言)和X3D标准的贡献者,他在书中...

    webgl文档开发教程

    webgl文档开发教程

    HTML5+CSS+WEBGL网页3D游戏开发

    HTML5、CSS和WebGL是现代网页开发中的关键技术,它们共同为创建互动性强、视觉效果丰富的3D网页游戏提供了强大的支持。在这个经典教程中,我们将深入探讨这些技术如何结合,以构建引人入胜的网页游戏。 HTML5是超...

    WebGL编程指南PDF和源码

    通过阅读和运行这些代码,你可以加深对WebGL的理解,掌握实际项目中的应用技巧。 总之,“WebGL编程指南”涵盖了从基础到进阶的WebGL技术,结合PDF文档的理论知识和源码的实践经验,可以帮助你成为一名熟练的WebGL...

    WebGL Overview

    7. WebGL开发入门: - 获取Canvas对象:开发者首先需要获取HTML中的Canvas元素。 - 获取WebGL渲染上下文:通过调用Canvas元素的getContext("webgl")方法获取WebGL渲染上下文。 - 清除屏幕颜色:通过gl.clear方法清除...

    用 WebGL 打造 HTML5 游戏引擎平台.pdf

    随着浏览器对WebGL标准的广泛支持和性能优化,WebGL已经成为开发高质量Web游戏的可靠选择。 移动浏览器的兼容性和性能优化在“HTM5 Mobile Browser Compatibility”和“Optimising Mobile Performance”部分中被...

    最新微信小程序webgl开发unity插件

    微信小程序WebGL开发Unity插件是一款专为开发者设计的工具,旨在帮助他们将Unity游戏或交互式3D内容无缝集成到微信小程序中。这个插件的出现,使得开发者能够利用Unity的强大功能,创造出丰富的视觉体验,并通过微信...

    关于vscode开发WebGL没有提示的解决办法1

    "关于vscode开发WebGL没有提示的解决办法1" 在开发WebGL项目时,使用vscode编辑器但是没有提示,这是一个令人沮丧的问题。幸运的是,这个问题有一个简单的解决办法:使用JSDOC注释。 什么是JSDOC? JSDOC是一个...

    [HTML5] HTML5 WebGL 开发基础教程 (英文版)

    [Apress] HTML5 WebGL 开发基础教程 (英文版) [Apress] Beginning WebGL for HTML5 (E-Book) ☆ 出版信息:☆ [作者信息] Brian Danchilla [出版机构] Apress [出版日期] 2012年08月29日 [图书页数] 356页 ...

    webgl ppt 示例 代码

    WebGL是一种基于OpenGL标准的JavaScript API,用于在任何兼容的现代网页浏览器中渲染交互式的2D和3D图形,无需插件。这个“webgl ppt 示例 代码”压缩包提供了一个3D的WebGL幻灯片演示程序,是学习WebGL技术的一个...

    小游戏webgl与canvas2d混合使用demo

    在本文中,我们将深入探讨如何在Web开发中结合使用WebGL和Canvas2D技术,以创建有趣的小游戏。WebGL是一种基于OpenGL标准的JavaScript API,用于在浏览器中进行3D图形渲染,而Canvas2D是HTML5的一个绘图API,主要...

    webGL编程示例源码

    《WebGL编程指南》的主要篇幅讲解了WebGL 原生API 和三维图形学的基础知识,包括渲染管线、着色器、矩阵变换、着色器编程语言(GLSL ES)等等,也讲解了使用WebGL 渲染三维场景的一般技巧,如光照、阴影、雾化等等。...

    WebGL高级开发指南随书源代码

    WebGL高级编程 开发Web 3D图形_13340873 a4.311 (美)阿尤鲁著 WebGL高级编程 开发Web 3D图形_13340873 a4.311 (美)阿尤鲁著 WebGL高级编程 开发Web 3D图形_13340873 a4.311 (美)阿尤鲁著

    WEBGL_webgl_

    WebGL是一种基于OpenGL标准的JavaScript API,用于...随着技术的不断发展,教程可能还会涉及WebGL 2.0的新特性,如浮点纹理、多边形偏移、纹理数组等,以及如何与其他Web技术如Three.js等库结合使用,以简化开发流程。

Global site tag (gtag.js) - Google Analytics