- 博客(9)
- 资源 (5)
- 收藏
- 关注
原创 Avatar 三维引擎
这是我的一个业余项目,Avatar 是一款跨平台高性能的3D引擎,底层采用 C++ 开发,目前支持 Windows、Linux、 Android 三个平台。渲染部分基于 OpenGL3.3/ES3.0,引擎具有很高的可移植性,除了 freetype、glew、libcurl、 libjpeg、libpng、lua、mpg123、openal、rapidxml、zlib 这些开源的第三方库以...
2016-10-15 16:07:30 2168
原创 JSON 解析器(升级版)
之前写过一个JSON解析器,仅能解析简单对象,且不支持数组解析,这次进行改进升级。这个解析器遵从按需解析且不分配内存的原则。精简但是功能齐全,解析器的特点是快速,方便。详见代码://================================================// Copyright (c) 2016 周仁锋. All rights reserved.// ye_luo@
2017-07-05 11:39:19 336
原创 Delaunay 三角网生成
算法参照 https://github.com/ironwallaby/delaunay,使用逐点插入法,并将点沿X坐标排序以优化生成速度。//================================================// Copyright (c) 2016 周仁锋. All rights reserved.// [email protected]//==========
2017-05-11 11:51:59 8215 9
原创 JSON 解析器
本方法相当暴力和简单,暂时不能解析数组,不过就可用性而言,在简单的应用场合还是可以胜任的。此解析器是专为 Avatar 引擎设计的,以供实现编辑器上代码://================================================// Copyright (c) 2016 周仁锋. All rights reserved.// [email protected]//=
2016-11-13 09:00:56 396
原创 ZIP 文件读取
Avatar 引擎可以设置 zip 压缩文件作为引擎运行的资源目录,当指定资源目录为 zip 压缩包时,读取指定的文件也就自动转换为压缩包文件读取。而写文件则不以 zip 压缩包为目标写入,文件管理器在写文件时默认以 zip 文件所在目录作为当前目录进行写文件操作,这样当设置当前目录为 zip 文件时,读取和写入的位置是不一样的。 先来看看文件管理器部分相关方法/*** 设置资
2016-10-24 16:48:04 2295
原创 水面渲染
Avatar 引擎中的水面渲染,是用一种比较高效并且真实感强的方法实现的。水面的波纹模拟没有采用顶点波动方式,而是使用法向贴图来模拟。其效果可参见之前的几篇文章的图片。 首先需要实现的是水面倒影,水面倒影的渲染需要把摄像机置于水面的另一面对称位置,然后渲染整个场景至纹理(render to texture)。一般需要使用平面裁剪将水面以下的物体裁剪掉,避免错误的倒影,但在本方法中使用了一
2016-10-16 19:44:44 1384
原创 物理引擎模块
Avatar 三维引擎中,有一个简化的内置物理引擎。这个物理引擎的编写调试花了我很多时间,毕竟是为了练手,要不然早就去把bullet嵌进去了。
2016-10-16 09:34:26 585
原创 云层渲染
在Avatar引擎中采用了一种比较简单的方式生成比较真实的云效果,全部在shader中进行生成渲染。效率和效果都非常好,并具有动态效果。如图注意两张的变化 注意整个云层就是渲染在一个平面上的,实现的fragment shader如下#ifdef GL_FRAGMENT_PRECISION_HIGHprecision highp float;#elseprec
2016-10-15 21:53:34 1145
原创 VR 的头部跟踪实现
/** * 四元数乘法更新方位角 * * @param dt */private void updateOrientation(float dt) { final float factor = 0.01f; // 局部坐标系加速度测量值 float lenv = 1.0f / (float) Math.sqrt(mGx * mGx + mGy * mGy + mGz * mGz)
2016-06-06 13:03:26 4099 1
FFT 的 C++ 封装,无依赖项,注释清晰,简单易用,包含FFT逆变换
2020-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人