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的相关支持情况. 另外,本文对实时光线追踪也进行了简要的 ...
随机推荐
- NAP(Network Access Protection)
- input输入完成后监听
clearTimeout(serachtimer); serachtimer=setTimeout(function(){ xxxxxxx //这里写处理的方法 },1000)
- java List<Map<String,Object>
xml <select id="selectShopList" resultType="java.util.HashMap"> SELECT p.P ...
- 图释SQL的Join
对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...
- ionic+cordova填坑
1.命令行更新 cordova,ionic.nodejs ,npm,bower等到新版本,不要在vs中更新 2.程序突然白屏 因为拷贝其他程序到js中,乱码 :a模拟器打开 f12看控制台错误解决 3 ...
- idea常用快捷键及操作
ctrl+j ===== 智能提示 可用模版及关键字 ctrl+p ===== 显示方法可填入的参数 ctrl+space ===== 补全提示项目中可用的变量 ctrl+shift+j ==== ...
- 二叉搜索树与双向链表(python)
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. # -*- coding:utf-8 -*- # class TreeNo ...
- 搭建React项目(一):在网页中使用
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- FortiGate端口聚合配置
1.端口聚合(LACP)应用场景 该功能高端设备上支持,FortiGate60D.FortiGate90D和FortiGate240D等低端型号不支持. 1.在带宽比较紧张的情况下,通过逻辑聚合可以扩 ...
- [转贴]LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project
https://blog.csdn.net/melody157398/article/details/24354415 LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---I ...