自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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逆变换

获取一段音频的频谱 #define SAMPLE_RATE 8000 #define SAMPLE_SIZE 256 signed short audioData[SAMPLE_SIZE]; // read audioData complex<float> data[SAMPLE_SIZE]; for (int i = 0; i < SAMPLE_SIZE; i++) data[i] = (float)*((signed short*)audioData+ i); CFFT::Forward(data, SAMPLE_SIZE); const float value_scale = 1.0f / 32768.0f; for (int i = 1; i < SAMPLE_SIZE / 2; i++) { float freq = i * SAMPLE_RATE / float(SAMPLE_SIZE / 2); float amp = std::abs(data[i]) * value_scale / float(SAMPLE_SIZE / 2); cout << "freq = " << freq << " amp = " << amp <<endl; }

2020-05-25

Avatar引擎

Avatar三维引擎的Android版本,内部包含展示场景,第一次启动APP时自动将展示场景释放到/sdcard/avatar/目录下

2017-05-11

Avatar引擎 飞船模拟

基于Avatar引擎的飞船飞行模拟,将ZIP包放在/sdcard/avatar/目录下,打开Avatar应用即可进入

2017-05-11

Avatar引擎 拼图游戏

基于Avatar引擎的3D拼图游戏,将ZIP包放在/sdcard/avatar/目录下,打开Avatar应用即可进入

2017-05-11

Windows TTS 库封装,附C#和C++ Demo

非常简单的TTS封装,附带C#和C++的Demo

2016-05-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除