DJ's WebGL Tutorial 002--渲染循环、显示FPS
来源:互联网 发布:java获取每个月的天数 编辑:程序博客网 时间:2024/05/17 00:06
1.为了便于编码,先将html与javascript拆分为2个文件。
2.在页面中再添加一个canvas,用来绘制2d文本显示FPS。
html文件完整代码:
<!DOCTYPE html> <html> <head> <title>DJ's WebGL Tutorial 002</title> <script type="text/javascript" src="main.js"></script> </head> <body> <canvas width="640" height="480" id="canvas" style="position:absolute;top:10px;left:10px;"> </canvas> <canvas width="640" height="480" id="canvas2d" style="position:absolute;top:10px;left:10px;"> </canvas> </body> </html>
3.添加render函数,进行循环渲染:
function render() { update_fps(); gl.clear(gl.COLOR_BUFFER_BIT); window.requestAnimationFrame(render); }
4.每秒更新一次FPS显示:
function update_fps() { frame++; var now = new Date().getTime(); if (now - time > 1000) { var c2d = document.getElementById('canvas2d').getContext('2d'); c2d.clearRect(0, 0, c2d.canvas.width, c2d.canvas.height); c2d.font = "20px Consolas"; c2d.fillStyle = "#00ff00"; c2d.fillText("FPS:" + frame, 5, 20); time = now; frame = 0; } }
main.js文件完整代码:
var gl = null; var frame = 0; var time = 0; onload = function() { var c = document.getElementById('canvas'); gl = c.getContext('experimental-webgl'); init_gl(); render(); } function init_gl() { gl.clearColor(0.0, 0.0, 1.0, 1.0); } function render() { update_fps(); gl.clear(gl.COLOR_BUFFER_BIT); window.requestAnimationFrame(render); } function update_fps() { frame++; var now = new Date().getTime(); if (now - time > 1000) { var c2d = document.getElementById('canvas2d').getContext('2d'); c2d.clearRect(0, 0, c2d.canvas.width, c2d.canvas.height); c2d.font = "20px Consolas"; c2d.fillStyle = "#00ff00"; c2d.fillText("FPS:" + frame, 5, 20); time = now; frame = 0; } }
运行结果:
现在,我们有了一个60帧/秒的游戏主循环。
0 0
- DJ's WebGL Tutorial 002--渲染循环、显示FPS
- DJ's WebGL Tutorial 001--渲染准备
- DJ's WebGL Tutorial 003--渲染一个三角形
- DJ's WebGL Tutorial 006--模型加载、显示
- DJ's WebGL Tutorial 007--骨骼动画
- DJ's WebGL Tutorial 005--3D渲染与所需矩阵变换
- DJ's WebGL Tutorial 004--带贴图的矩形
- WebGL Tutorial 创建WebGL环境
- A unreal4 FPS tutorial.
- 游戏主循环FPS
- opencv 显示摄像头+fps
- unity显示FPS
- Unity 显示FPS
- Unity 显示FPS
- [WebGL入门]四,渲染准备
- 关于渲染帧率(FPS)的问题
- WebGL Tutorial 绘制第一个三角形
- webgl中文字体显示
- DJ's WebGL Tutorial 001--渲染准备
- redis之如何配置jedisPool参数 jedis连接池参数
- 机房收费系统重构——问题集锦一
- 浅谈对物联网的理解(转载清注明出处,会根据完成进度实时更新)
- Windows下WebStorm使用SVN(转)
- DJ's WebGL Tutorial 002--渲染循环、显示FPS
- 关于C/S与B/S的区别
- Redis配置文件各项参数说明
- 复盘携程瘫痪12小时,故障还是隐患
- redis安装与参数说明
- error LNK2019: 无法解析的外部符号 __imp_GetUserObjectInformationW,该符号在函数 OPENSSL_isservice 中被引用
- 第2章 Linux&Unix
- GDB No symbol "XXXXX" in current context
- Android开发: 对象属性的使用