首页
学习
活动
专区
工具
TVP
发布

逍遥剑客的游戏开发

专栏作者
306
文章
337804
阅读量
55
订阅数
Nebula3渲染层: Graphics
图形子系统是渲染层中图形相关子系统的最高层. 它基本上是Mangalore图形子系统的下一个版本, 但是现在整合进了Nebula, 并且与低层的渲染代码结合得更加紧密. 最基本的思想是实现一个完全自治的图形”世界”, 它包含模型, 灯光, 还有摄像机实体, 而且只需要与外部世界进行最少的通信. 图形世界的最主要操作是加入和删除实体, 还有更新它们的位置. 因为Mangalore的图形子系统跟Nebula2的完全分界线从Nebula3中移除了, 很多设想都可以用更少的代码和交互来实现. 图形子系统也会为了异步渲染而多线程化, 它和所有的底层渲染子系统都会生存在它们自己的fat-thread中. 这本应是Nebula3层次结构中更高级的东西, 但是我选择了这个位置, 因为这是游戏跟渲染相关通信最少的一部分代码. 正是因为图形代码有了更多的”自治权”, 游戏相关的代码可以跟图形以完全不同的帧率来运行, 不过这需要实践来证明一下. 但是我一定会尝试, 因为完全没有必要让游戏逻辑代码运行在10帧以上(格斗游戏迷们可能会反对吧). 图形子系统中最重要的公有类有:
逍遥剑客
2022-01-11
2950
使用STL vector 作为XNAMath快速灵活的SIMD数据容器
这篇文章是关于如何将传统的STL vector作为XNAMath类型容器使用. 因为SSE/SSE2指令集要求数据必须对齐到16字节的边界, 所以vector的分配器必须替换成一个可以对齐的内存分配器(x86架构). 本文适用于想在代码中引入新鲜空气的x86 Windows开发者, 你将会看到如何把强大的XNAMath和灵活的STL vector结合到一起.
逍遥剑客
2022-01-11
7290
UE4学习笔记(三): 为什么使用C++替代UnrealScript?
原文链接: https://forums.unrealengine.com/showthread.php?2574-Why-C-for-Unreal-4&p=16252&viewfull=1#post
逍遥剑客
2022-01-11
3680
卡马克揭开VR延迟背后的真相
延迟是OculusVR所面对的最大挑战之一, 它不仅会分散玩家体验游戏时的注意力, 还会导致晕动症, 所以找出它背后的原因并消除它是非常重要的。
逍遥剑客
2022-01-11
4340
延迟是AR/VR体验的基础
译者注: 原文发表于2012年, 虽然当时的一些硬件条件限制现在已经没有了, 但我们可以从中学习到AR/VR的延迟解决思路. 另外, 译文略过了显示器的发展史
逍遥剑客
2022-01-11
9030
GameEntity&Component
The Game Entity – Part II, The Life Cycle and Processing Architecture
逍遥剑客
2019-02-20
3890
UE4学习笔记(一): 基本概念
UE4有很多个Module, GamePlay部分也是一个或多个Module, 每个Editor也是一个Module 搜索了一下, Module总数170+, 总共分三类: Runtime, Editor, Developer Runtime这边比较重要的是Core, UObject, Engine Core 数据类型 数据库 容器 IO/Log UObject: 所有对象的基类. UE中还有个约定是Object代表不是Actor的对象 反射 序列化 文件包 Engine Actor: 由Co
逍遥剑客
2019-02-20
1.1K0
骨骼动画系统Cal3D
在群里看到有人把它用在了商业游戏中, 就很好奇为什么用它. 去网站上看了一下, 觉得许多特性很不错, 像动作融合, LOD之类的 试着用DXUT参考miniviewer写了个DEMO, 确实很方便 下一步看看它的3dmax和maya的导出插件好用不
逍遥剑客
2019-02-20
1K0
草的交互的几种实现
基本原理都差不多, 通过在VertexShader种更改顶点的位置实现, 各种做法的差别主要是偏移量的计算.
逍遥剑客
2019-02-20
9180
Android平台上的Native内存分析
UE4游戏在Android上的进程内存占用(PSS)很让人困惑, 没有一个清晰直观的方式可以统计到每一部分的内存占用. 所以在做内存分析的过程中顺手做了一个统计工具, 可以从系统底层统计UE4在Android的所有内存分配(包括Graphics部分).
逍遥剑客
2019-02-20
4.2K0
GDC2016: AMD LiquidVR
跟NVIDIA的VRWorks一样, AMD也对VR进行了一些优化, 两家的各项技术基本上可以一一对应起来, 只是名字不同
逍遥剑客
2019-02-20
4850
UE4学习笔记(二): IOS游戏部署
这是个2D游戏, 也算是UE4新加的东西, 跟Unity一样的思路, 都是用3D空间的层加个正交投影的相机
逍遥剑客
2019-02-20
6790
近期工作与学习技术总结
色彩表现力 这个是一些小引擎容易忽略的地方. 可能引擎各种功能都有, 但是为什么做出来的东西不够出彩呢? 除去美术自身的原因, 程序也要好好与美术进行沟通. 很多时候美术有一些很不错的想法, 确总是做
逍遥剑客
2019-02-20
4910
嵌入式的浏览器有第三种方案啦
最初在游戏里嵌入网页用的是LLmozLib, 说实话, 还不错, 用的FireFox的解析引擎
逍遥剑客
2019-02-20
6070
关于游戏自动更新工具的思考
网络游戏的自动更新很频繁,而多数玩家会抱怨下载速度过慢 同样的,如果全部都从游戏提供商的服务器上下载,势必导致网络资源的极大浪费,而且对于企业的更新服务器和带宽也是一个很大的考验
逍遥剑客
2019-02-20
4490
Nebula3中的属性
Attr命名空间下实现了Mangalore里的动态属性. 属性是编译期间类型安全的key/value对, 这是数据库(database)子系统的基础. image.png 如图, AttrId相
逍遥剑客
2018-06-25
6190
HDR&ToneMapping
HDR high dynamic range. 很多程序朋友(包括我)都是从dxsdk上看到和学习这个概念,开始学习的更多的是一整套hdr sample的流程: 在float render target上去render scene 后面很多console上的游戏使用rgbm等编码方式来节省内存和bandwidth 通过down sample去计算亮度 treyarch是cook到场景数据里面,省了这个down sample的过程 根据亮度对场景做一个矫正(tone mapping)最后输出到一个rgb8的
逍遥剑客
2018-05-23
1.2K0
GameEntity&Component
Update Entity的不同功能的更新频率可以不一致, 比如渲染60FPS, 逻辑15FPS 更新频率可以做LOD处理, 如500米开外的更新频率可以设置为1FPS 更新可以多线程化, 但是目前很少有人实现, 主要是复杂度与性价比的问题 Component 优点 可复用, 为数据驱动提供基础 节省资源, Entity只包含它所需要的功能, 省要不必要的CPU计算和内存占用 可以运行时动态增加/删除Component, Entity的功能可以灵活地改变 缺点 粒度难于把握, 太大的话复用性降低,
逍遥剑客
2018-05-23
3790
传统3D游戏引擎的Web化
最近floh大神的blog又复活了, 现在n3的主要发展发向是web化 其实也是跟PC和主机平台的衰落有关, 各种移动设备正在逐渐取代PC的地位 而做为一个3D游戏引擎, 想要适应这个潮流却不是很容易 先不考虑其它, 光技术上面临的问题就很棘手: C++目前无法直接用于web开发, 必然要面临老代码转换/移植的问题 3D硬件加速的渲染在浏览器这边, 没有一个统一的标准 多线程, web浏览器里对于线程的使用有很多限制 输入设备, 比如右键的功能很多时候会跟浏览器冲突 IO, 通过网络传输的资源在传输, 访问
逍遥剑客
2018-05-23
1.9K0
被FMOD的内存管理坑了一把
最近遇到个内存泄露, 查来查去竟然在FMOD模块里 要不是别的组件全部定制了内存分配函数, 还真不会怀疑到它头上 使用FMOD::EventSystem::getMemoryInfo()输出内存信息一看, 直接崩溃了, 100MB~200MB 之前我是用XACT的, FMOD本以为是差不多的东西, 就没怎么在意, 结果摔一跟头 细细的去读了一下文档, 发现有3点: FMOD::Memory_Initialize 可以把FMOD的内存分配器换成自己的, 方便统计各模块的内在使用情况 这个函数需要链接fmod
逍遥剑客
2018-05-23
1.8K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档