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的相关支持情况. 另外,本文对实时光线追踪也进行了简要的 ...
随机推荐
- Python的set集合
set集合也用{}表示,set中的元素是不重复的.无序的,且它里面的元素必须是可hash的(int,str,tuple,bool),set是可变的. 1.使用set去重 m = [1, '] s = ...
- 关于wordpress中的contact form7和WP Mail SMTP的一些设置
昨天帮客户解决了这个问题 折腾了好几个小时 下面说下流程 先配置的 wp mail smtp 如果配置完毕后 就可以使用里面配置的邮件 放到contact form7 中的 发件人中 1 ...
- QTP 学习 - 检查点
- python print格式化输出。
python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...
- .NET MVC 过滤器使用
来看以下两种情况 1. 如果我们需要对某个模块做权限控制,通常的做法是写一个基类(BaseController),让这个基类继承Controller类,在BaseController的构造方法中进行权 ...
- Nginx服务器的rewrite、全局变量、重定向和防盗链相关功能
一:Nginx 后端服务器组的配置: 1.upstream: 用于设置后端服务器组的主要指令,upstream类似于之前的server块或http块,用法如下: upstreame Myserver{ ...
- Django之如何预防csrf功能的方式 form提交与ajax提交
1. 什么是csrf认证: 主要是防止别人恶意登录你的账户信息用的: 2. csrf认证在django的实现方式: 分为两种, 一种是from表单提交的方式,另一种是ajax提交实现方式 前端: &l ...
- 尚硅谷springboot学习29-docker常用命令和操作
前提是要安装docker,有关docker的安装请参考相关资料,下面来看一下常用的操作命令 1).镜像操作 操作 命令 说明 检索 docker search 关键字 eg:docker search ...
- MYSQL性能优化(1)
优化步骤 1.show status 查询服务器状态运行信息 根据增删改查统计信息可以知道数据库是查询为主还是更新为主,各类型业务大致比例(更新操作 执行与回滚都会计数) 对于事务,可以通过Com_c ...
- SQL Server中有关约束(constraint)的一些细节
本文出处:http://www.cnblogs.com/wy123/p/7350265.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...