首先win10的SDK里已经没有了<dmusici.h>和<dmusicf.h>,所以我在网上找了DirectX8 SDK下载下来(windows游戏编程大师技巧的源码当然也要下载下来,网上也有),然后添加到工程(直接复制到同一目录估计也可以):

Property -> Configuration Properties -> C/C++ -> Additional Include Directories.

加文件夹

…\DX8_VcSDK(DX8的SDK文件夹)\include;

Property -> Configuration Properties -> Linker -> General -> Additional Library Directories.

文件:590m.com/f/25127180-497672546-1b305d(访问密码:551685)

以下内容无关:

-------------------------------------------分割线---------------------------------------------

技术背景
在前面一篇博客我们讲到三种用python去读取一个文件的指定行的操作,最终给出的一个结论大概是,对于大型的数据而言,最快的找到指定行的方法是Linux系统自带的sed指令,那么是否只有这一种办法了呢?很显然不是,之所以采用这些方法,是因为我们被局限在数据的存储格式上,如果在处理数据或者产生数据的阶段,就把数据按照特定的数据结构进行存储,那么就能够大大的提高数据读取的效率。这里我们要介绍一个用sqlite3来读取数据用于MindSpore的训练的案例,在有限的内存空间中避免完整的去加载整个数据集。

回到顶部
Sqlite3产生随机数据
因为大部分的Python中是预装了sqlite3的,这就避免了我们自己再去重复安装的麻烦,比如Spark和PySpark就是安装起来比较麻烦的典型案例,当然其性能和分布式的处理也是非常具有优越性的。这里我们看一个用sqlite3产生训练数据的案例,这个案例的原型来自于这篇博客,其函数表达形式为:

store_data_to_db.py

import numpy as np
import sqlite3
from tqdm import trange

conn = sqlite3.connect(‘xyz.db’) # 创建或者链接一个已有db文件
cur = conn.cursor()

try:
sql_1 = ‘’‘CREATE TABLE number
(i NUMBER,
x NUMBER,
y NUMBER,
z NUMBER);’’’
cur.execute(sql_1) # 执行数据库指令,创建一个新的表单
except:
pass

def get_data(num, a=2.0, b=3.0, c=5.0):
for _ in trange(num):
x = np.random.uniform(-1.0, 1.0)
y = np.random.uniform(-1.0, 1.0)
noise = np.random.normal(0, 0.03)
z = a * x ** 2 + b * y ** 3 + c + noise # 计算数据
# 将一行数据写入数据库
cur.execute(“INSERT INTO number VALUES({},{},{},{})”.format(_, x2, y3, z))

get_data(100) # 产生100组数据
conn.commit()
cur.close()
conn.close()
在这个案例中我们一共产生了100组的测试数据,运行过程如下:

(base) dechin@ubuntu2004:~/projects/gitlab/dechin/src/mindspore$ python3 store_data_to_db.py
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:00<00:00, 29504.11it/s]
(base) dechin@ubuntu2004:~/projects/gitlab/dechin/src/mindspore$ ll | grep xyz.db
-rw-r–r-- 1 dechin dechin 8192 6月 1 15:43 xyz.db
运行完成后,会在当前目录下产生一个名为xyz.db的数据库文件,在可迁移性上是比较灵活的。需要特别提及的是,这里我们不仅存储了x,y,z这3个变量,同时也存储了index数据,这样方便我们对数据进行检索和查找。在程序的最后一步,一定要执行commit才能够将数据保存到数据库文件中,否则不会被保存。

3D游戏编程大师技巧+源码相关推荐

  1. 3D游戏编程大师技巧第一章 vs2013编译书本源码问题解决方案

    (书本是VC 6.0和vs2013不同) 一. 1.1.点击右键属性->配置属性->C/C++->附加包含目录:里面添加DirectX SDK的include文件路径:(如:D:\3 ...

  2. 3d游戏编程大师技巧 源代码_C/C++编程入门基础系列:俄罗斯方块小游戏制作,直接源代码分享...

    这篇文章主要为大家详细介绍了C语言实现俄罗斯方块小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.要先下载一个 graphics.h 的头文件来绘图. 2.初始化窗口:initgraph( ...

  3. 《3D游戏编程大师技巧》读书笔记

    转转悠悠,这个坑,还没有爬出来,之前做游戏的时候以为不需要了,现在做渲染又绕回来,从另外一个角度说明,我面对的问题本质上是一类的.目录看了几遍,决定还是用"曳光弹"打法,从当前最需 ...

  4. 3D游戏编程大师技巧读书笔记(第一章)

    1.3节代码解析 inline void Mem_Set_QUAD(void * dest, UINT data, int count) {// 这个函数填充32位对齐内存// count 为 QUA ...

  5. 3D游戏编程大师技巧

    error:无法解析   __imp__mmioAscend@12 原因:没有相应的lib文件 解决方法:#pragma comment(lib,"Winmm.lib")

  6. 开始利用CSDN做学习笔记,从windows 游戏编程大师技巧和3D游戏编程大师开始

    利用两个月的空余时间将windows 游戏编程大师技巧和3D游戏编程大师技巧看了一遍. 第一遍读的并不深入,代码也没有仔细研究.特别是3D下册,基本只是草草浏览了一遍而已.这一遍是为了对整体有个印象和 ...

  7. 游戏编程大师技巧—windows程序的基本构造

    空余时间拿出来学习游戏开发时间其乐无穷的事情有木有,当然不能被导师抓住,我是专心做学术的好孩子.. 任何一个程序的人生应该是从一句dos控制台的hello word 开始的,而windows的程序应该 ...

  8. 《Windows游戏编程大师技巧》(第二版)第11章

    第三部分:核心游戏编程   第11章 算法.数据结构.内存管理和多线程   第12章 人工智能   第13章 游戏物理   第14章 文字时代   第15章 综合运用:编写游戏! 第11章 算法.数据 ...

  9. 《Windows游戏编程大师技巧》(第二版)第2章

    因此几乎是一夜间,Windows 95就改变了整个计算机行业.的确,目前还有一些公司仍然在使用Windows 3.1(你能相信吗?),但是Windows 95使得基于Intel的PC成为除游戏之外的所 ...

最新文章

  1. Chrome浏览器插件Json浏览与编辑神器
  2. [iphone-tabbar]如何自定义TabBarController
  3. 依赖注入 这样的坑游戏编程要谨慎
  4. wp7 视频下载 资源收集
  5. 如何把网址配置为http和https可以同时访问
  6. 如何在Vue 中管理 Mixins(搞懂这两点就足够了)
  7. iScroll5 API速查随记
  8. 案例7-2 寻找大富翁 (25 分)(STL容器)
  9. php未定义常量破解,如何使PHP未定义的常量注意到错误
  10. 解决adb devices无法连接夜神模拟器
  11. STC89C52单片机蜂鸣器介绍以及《卡农》歌曲代码示例
  12. 修改WiFi/BT模组—R329智能语音开发板入门
  13. 儒家学派有哪些代表人物?
  14. mac下报 504 Gateway Time-out
  15. 梁念坚与鲍尔默大唱反调
  16. mac 关于获取手机信息 终端指令
  17. cdrx8如何批量导出jpg_cdr x8批量导出插件
  18. i18n(国际化)地域标识码
  19. eclipse building workspace sleeping rapidly
  20. 分析师Willy Woo:最近BTC买入是由长期持有者推动的,这次暴涨远未结束

热门文章

  1. SQL Server 数据库之常量
  2. Procmon.exe —— 强大的系统监视工具
  3. 上海交通大学致远游泳健身馆5月团体操课表已更新,请各位会员惠存!
  4. SpringBoot整合Elasticsearch,2021最新Java面试真题解析
  5. 每日MySQL之024:FLUSH TABLES
  6. 一个技术总监的个人综合评估,希望对大家能有所帮助(转)
  7. 一个好玩的辞职信HTML版
  8. ipqc异常处理流程图_IPQC工作流程图
  9. 817自动控制原理-2-关于阻尼
  10. java将office文档,word,ppt,pdf文档转换成swf文件在线预览