Three.js之渲染器
来源:互联网 发布:淘宝上买男装什么牌子 编辑:程序博客网 时间:2024/05/17 21:58
本篇文章将详细讲解three.js中渲染器(renderer)的设置方法。
three.js文档中渲染器的分支如下:
Renderers
- CanvasRenderer
- DOMRenderer
- SVGRenderer
- WebGLRenderer
- WebGLRenderTarget
- WebGLRenderTargetCube
- WebGLShaders
可以看到three.js提供了很多的渲染方式,我们选择的当然是WebGLRenderer,但我们这里要将CanvasRenderer与WebGLRenderer两种渲染方式做一个比较。
在上篇文章的例子中,我们完全可以把WebGL渲染器:
renderer=new THREE.WebGLRenderer();
替换为Canvas渲染器:
renderer=new THREE.CanvasRenderer();
这样canvas就会以2d的方式渲染,以下是效果对比(前者用WebGLRenderer渲染):
很明显,WebGL在渲染效果上更胜一筹,WebGL的渲染能够最大程度表现你制作精美的场景,如果你的设备支持它,这个渲染器具有比CanvasRenderer更好的性能,相反地,CanvasRenderer则具有更好的兼容性。
这是我们上篇文章中设置渲染器的js代码,有以下流程:
1.声明渲染器对象,我们用new THREE.WebGLRenderer()来新建一个WebGL渲染器。
其中WebGLRenderer()中有一些参数我们可以设置,以下这些参数来自于官方文档:
(1)antialias:
值:true/false
含义:是否开启反锯齿,设置为true开启反锯齿。
(2)precision:
值:highp/mediump/lowp
含义:着色精度选择。
(3)alpha:
值:true/false
含义:是否可以设置背景色透明。
(4)premultipliedAlpha:
值:true/false
含义:?
(5)stencil:
值:true/false
含义:?
(6)preserveDrawingBuffer:
值:true/false
含义:是否保存绘图缓冲,若设为true,则可以提取canvas绘图的缓冲。
(7)maxLights:
值:数值int
含义:最大灯光数,我们的场景中最多能够添加多少个灯光。
2.制定渲染器的宽高,我们用renderer.setSize(width,height)来设置;
3.追加生成的canvas元素到容器元素中。canvas对象的获取方法为renderer.domElement;
4.设置canvas背景色(clearColor)和背景色透明度(clearAlpha),renderer.setClearColor(clearColor,clearAlpha);
那么以上就是three.js渲染器的一些常用设置了,大家可以实际检验一下各种参数所起的作用。
5,设置渲染器的像素比例是浏览器的像素比例
renderer.setPixelRatio( window.devicePixelRatio );
- Three.js之渲染器
- Three.js之渲染器
- Three.js之渲染器(转)
- Webgl之three.js
- 前端之js-three
- three.js 渲染器更改背景色的几种方法
- three.js着色器
- webvr技术之three.js
- Three.js之照相机Camera
- THREE.JS之文本对象
- three.js之投影矩阵
- Three.JS学习 4:循环渲染与动画
- js之页面渲染
- 我的THREE.js之旅01
- THREE.JS之几何体(Geometry)
- Three.js 学习记录 之 纹理加载
- three.js之照相机(Camera)
- Three.js入门篇之1
- 从零开始学重构——《重构,改善既有代码的设计》
- 基于Win10(MAC,Linux)+Anaconda+Jupyter安装Tensorflow 0.12
- 九、让模板文件帮你快速开发网页
- 史上最简单的 Spring MVC 教程
- 十、MVC模式中的Model使用方法
- Three.js之渲染器
- play on words又是一道改了很久的题
- java8 读书笔记(一)基础特性
- 十一、轻松搭建网站管理后台
- 初学activiti(一)
- android so库 堆栈错误查看
- 十二、SonataAdmin管理后台轻松配置
- 上周热点回顾(1.16-1.22)_0
- 次小生成树