Win7 VS2017编译bgfx图形API
官方的编译指南在这个页面
https://bkaradzic.github.io/bgfx/build.html#quick-start
目前的版本编译比较简单,下载3个项目,放于同级目录下
https://github.com/bkaradzic/bgfx
https://github.com/bkaradzic/bimg
https://github.com/bkaradzic/bx

进入bgfx目录下,建立vs2017.bat文件,内容如下并运行,如果是其他版本,比如vs2015就换成其他的
..\bx\tools\bin\windows\genie.exe --with-tools --with-examples --with-shared-lib vs2017

会生成.build目录及工程,之后打开
bgfx\.build\projects\vs2017\bgfx.sln
就可以了
如果想编译SDL2版本
..\bx\tools\bin\windows\genie.exe --with-sdl --with-tools --with-examples --with-shared-lib vs2017
然后环境变量和工程中加入SDL的include和lib目路就行了。
为什么使用SDL2,因为bgfx自带的例子似乎不能支持手柄,至少我这破北通手柄用不了,而SDL2,GFLW,SFML甚至DInput都能正常识别。
有趣的是bgfx这个SDL2,初始化时只使用了SDL_INIT_GAMECONTROLLER,而没有Video和Audio,并且跟踪源码可以看到,图形驱动还是用的bgfx自己的DX,OpenGL等,SDL2这里似乎只是接入了手柄和消息循环等处理。
所以音频这部分,我在考虑怎么办,是用SDL Mixer还是用SFML,SFML一般音频处理比较方便,并且是C++源码,可读性高,还能直接用Buffer得到整个音频解码后的采样,做个FFT比较简单。
SDL Mixer虽然自带的例子也有波形显示,但是是在回调函数中实现的,虽然回调时用较少的实时buf占用内存更少,SFML的Buffer加载整首歌可能会占20至100 MB,视音频长度而定,但是如果做其他处理,比如音频编辑需要整首的,就方便很多,
并且这年头内存根本不是问题。唯一的问题是,SFML可能无法做音频实时合成,因为他的音频缓冲默认似乎是2秒,网上又没搜到实时合成的例子,找到一个正弦波合成的,声音听起来断断续续的,我的合成器工程可能移植不过来。
Win7 VS2017编译bgfx图形API的更多相关文章
- Win7 VS2017编译Audacity2.1.3
最近比较热衷折腾大型开源软件编译,因为在逐渐用开源软件替换盗版软件,除去盗版用着不安全的原因外,主要还是因为开源软件有源码,可以学习研究,另外就是体积小. 像Matlab每次装完都用不上什么功能,体积 ...
- Win7 VS2017编译Blender2.79
去年在VS2013环境编译过一次,重装系统后换了VS2017,正好刚编译完Godot3.0.2,顺手把Blender也编译了吧. 官方Windows下编译指南 https://wiki.blender ...
- Win7 VS2017编译magnum及例子
magnum是一个开源的图形中间件 Lightweight and modular C++11/C++14 graphics middleware for games and data visuali ...
- Win7 VS2017编译PBR渲染引擎google filament
按照官方说明 https://github.com/google/filament 前置工具包 Windows 10 SDKVisual Studio 2017Clang 6Python 3.7Git ...
- Win7 VS2017编译Godot3.0.2和2.1.4
千呼万唤屎出来,Godot终于发布3.0版本的源码了,今天是2018年3月17日,自去年接触过后,一直没事就刷刷Gayhub,看看3.0什么时候更新,刷了一年也没结果. 今天上Youtube无意中搜了 ...
- bgfx入门练习1——切换图形API驱动模式DX与OpenGL
翻了下上次编译bgfx是去年2月份的事了,最近正好想试试DX,OpenGL双驱动,看Urho3D和Klayge光封装就头痛,人又懒,写OpenGL时也基本glfw,于是想到bgfx,不如再试试. 发现 ...
- 新图形API为unity5 带来了什么&下一代新图形API的好处
西瓜的演讲ppt翻译+解释+其他: wolf96 在最基本的层面上,这些新api是为了改进CPU性能和效率,通过:减少CPU渲染瓶颈的情况,提供更多可预测和稳定的驱动的行为,给应用程序更多控制,就像在 ...
- 32位win7+vs2008编译mysql 5.6.22源码并安装
以下这部分安装说明是来自http://www.2cto.com/database/201407/316681.html的win7+vs2010源码编译mysql,文章最后会说明用vs2008编译遇见的 ...
- WebGPU学习(五): 现代图形API技术要点和WebGPU支持情况调研
大家好,本文整理了现代图形API的技术要点,重点研究了并行和GPU Driven Render Pipeline相关的知识点,调查了WebGPU的相关支持情况. 另外,本文对实时光线追踪也进行了简要的 ...
随机推荐
- JQuery miniui使用小记
1.renderer="onActionRenderer" 如我们需要在一行数据时加上删除操作时,就需要在每行上加上“删除”按钮,以下为实现代码: 列加载时主要的属性
- Kafka和的安装与配置
本文主要介绍Kafka的安装与配置: 集群规划 datanode1 datanode2 datanode3 zk zk zk kafka kafka kafka kafka jar包下载地址 http ...
- nginx ------反向代理和负载均衡
最近由于公司的业务增长 服务器承受不住压力经常出现崩溃现象 为了解决 使用nginx的负载均衡解决,以下是操作步骤: 1.nginx 的负载均衡:将压力分散到不同的机器上 nginx不单可以作为强大的 ...
- 201772020113李清华《面向对象程序设计(java)》第八周学习总结
实验六 接口的定义与使用 实验时间 2018-10-18 1.实验目的与要求 (1) 掌握接口定义方法: (2) 掌握实现接口类的定义要求: (3) 掌握实现了接口类的使用要求: (4) 掌握程序回调 ...
- JEECG 上传插件升级-代码生成器
前言: 现有的uploadify上传是基于swf的,随着H5的普及,flash即将退出历史舞台,JEECG本着与时俱进的原则,将全面升级JEECG系统中的上传功能,采用新式上传插件plupload,此 ...
- codestyle 设置问题
参考: https://blog.csdn.net/hugh77/article/details/43268195 使用 4 空格缩进,而非 TAB. 在小缩进(可以嵌套更深)和大缩进(更易读)之间, ...
- docker 网络配置
先随便写几行命令 随后一点点的补充 端口映射实现访问容器. run -d -P training/webapp python app.py run -d -p 5000:5000 training/w ...
- json 异常
com.google.gson.JsonSyntaxException: 1530842820000 1530842820000 是服务器直接返回的Date值由 Gson 解析后出来的值. 后台发出: ...
- elasticsearch 动态增加副本
动态调整副本数 PUT /ptt-new-2018-11/_settings{ "number_of_replicas": 2} 重建索引, 增加节点后要重建索引. 日志报错为网络 ...
- 20175314 《Java程序设计》迭代和JDB
20175314 <Java程序设计>迭代和JDB 要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令 ...