
Vulkan/OpenGL/D3D
文章平均质量分 56
力为
这个作者很懒,什么都没留下…
展开
-
游戏UI设计(1.1)--surfaces之封装
1.1 Surfaces之封装CXSurface[http://blog.youkuaiyun.com/mythma]1、Surfaces是什么: 通俗的讲surfaces就是一个二维的矩形平面。在DX9中,与其对应的com接口为IDirect3DSurface9,LPDIRECT3DSURFACE9。2、Surfaces的作用: 作为一个矩形平面,surfaces用来原创 2004-10-02 16:15:00 · 10569 阅读 · 2 评论 -
Vulkan API基本概念
Instance具体的Vulkan应用由“实例”表示。一个程序中可以创建多个实例,实例之间相互独立,互不干扰。Vulkan实例由驱动装载器(loader)管理。装载器负责发现GPU设备,是多设备驱动的组合体。当调用API创建Vulkan实例的时候,Vulkan SDK内部会经由loader查找GPU设备。创建Vulkan实例需要两个输入信息: 应用程序的信息 内存分配回调函数Vulkan通过用原创 2016-03-05 22:36:30 · 11067 阅读 · 1 评论 -
Vulkan的分层设计
Vulkan驱动层提供了简单高效的API。作为Vulkan API的使用者,我们要严格遵循Vulkan API的使用规则。如果我们违反了这些规则,Vulkan只会返回很少的反馈,它只会报告一部分严重和重要的错误,比如内存不够啦、指针越界啦等等。如果我们想获取其他更多的错误提示信息怎么办?这就需要启用Vulkan 的“调试验证层"。 调试验证层由多个层组成的,可以根据需要搭配,比如内存使用情况、输入参数验证、对象生命周期检查等等。开启越多的调试和验证功能,就意味着程序会越慢。这些功能在程序调试和查找bug原创 2016-05-11 10:09:09 · 2430 阅读 · 0 评论 -
初识Vulkan
Vulkan是Khronos组织制定的“下一代”图形显示API,是与DirectX12可以匹敌的GPU API标准。目前,Vulkan 1.0标准已经完成并正式发布。上一代的OpenGL|ES并不会被遗弃,还会继续发展,很有可能OpenGL|ES变为Vulkan的简化API。原创 2016-03-05 14:47:27 · 13511 阅读 · 5 评论 -
OpenGL下多个sampler在shader中的使用
在OpenGL中,sampler2D/Cube等做为uniform可以在fragment shader中使用。结合glActiveTexture和glUniform1i,实现texture与sampler的绑定。正常情况下的使用,可以参照各种GLSL教程里的例子。这里说一下非正常情况下在shader中使用多个sampler。原创 2014-09-01 15:46:21 · 11323 阅读 · 1 评论 -
OpenGL Shader Key Points (3)
Shader和Program原创 2014-05-06 14:49:30 · 1232 阅读 · 0 评论 -
基于OpenGL的渲染引擎
相比D3D,OpenGL最大的好处就是可以支持多个平台,程序部署起来也相对容易。在一个Shader大行其道的年代,渲染引擎不支持shader似乎就太说不过去了。但有那么多的显卡、尤其是集成显卡就是不支持OpenGL3.0+,比如Intel的集成显卡。原创 2011-03-18 13:48:00 · 5759 阅读 · 0 评论 -
我的原创技术随笔大全(2000~2009)
二十一世纪的第一个十年过去了,回顾了一下这些年写的博客,发现自己也没闲着。但不免也有些遗憾,内容大都是关于知识、经验和技术,而关于思考和idea的却比较少。期待下一个十年吧! 第一篇日志是在2004年发布在优快云的博客上(记得开始不叫博客),截至到现在累积了不少东西了。为了怀念这过去的十年(2000~2003是个空白期,那段时间国内好像也没博客,网络也不发达,信息也闭塞),特整原创 2010-01-09 11:03:00 · 7149 阅读 · 30 评论 -
【软件】新瓶装老酒 - MyCapture
N年前,做过一个简陋的抓图工具,这里 最近就更新了一下,就又有了这一款仿QQ的屏幕抓图工具软件。在这里下载 功能:1. 抓取屏幕上选中区域2. 调整选中的区域:移动,缩放...3. 保存抓取结果为BMP,JPG,PNG...4. 拷贝抓取结果至剪切板5. 管理多次抓取结果原创 2008-08-06 09:27:00 · 2497 阅读 · 3 评论 -
拓扑结构与TopoDS
一、拓扑结构 参数空间 OpenCASCADE的拓扑结构是在参数空间描述实体的数据结构——用局部参数空间或受限参数空间描述。 Quote:参数空间(Parametric Space):设(X1,……,Xn)为来自总体X的样本,(x1,…xn)为相应的样本值,θ是总体分布的未知参数,θ∈Θ, Θ表示θ的取值范围,称Θ为参数空间 能用这样的方法描述的的拓扑结构有:Vertex, Face 和原创 2008-01-21 13:21:00 · 4078 阅读 · 0 评论 -
建立最简单的OpenCASCADE程序
第一次接触OpenCASCADE,如何使用MFC建立OpenCASCADE程序?这里有一个纯手工打造的demo 。原创 2007-02-08 10:13:00 · 7112 阅读 · 0 评论 -
游戏状态管理之C++实现
游戏状态管理之C++实现Managing Game States in C++ 文章来源:TonyandPaige.com翻译: Mythma 多年前看的一个demo使我第一次完全明白了游戏中的不同状态。这个demo能够从一个特效平滑的过渡到另一个特效,并能从2D漩涡效果直接过渡到3D渲染环境,就像是几个不同的程序写成的。 多状态不仅在demo中重要,在游戏中也同样重要。每个游戏程序基本上都是从介原创 2005-05-01 16:18:00 · 7638 阅读 · 1 评论 -
将*.STL转换成顶点索引格式
将*.STL转换成顶点索引格式*.stl的格式很简单,某一个片断如下:solid ascii facet normal 0.000000e+000 0.000000e+000 1.000000e+000 outer loop vertex 4.104528e+002 6.994522e+002 0.000000e+000 vertex 3.895472e+002原创 2005-09-20 15:26:00 · 3552 阅读 · 1 评论 -
OpenGL Step by Step (1)
OpenGL Step by Step1。简单的框架2。Camera Terrain and Skybox 3。Sprite原创 2005-08-07 16:42:00 · 2939 阅读 · 0 评论 -
游戏UI设计(2.1)--窗口之父CXWnd的封装
窗口之父CXWnd的封装[http://blog.youkuaiyun.com/mythma]在一般的程序中的对话框、按钮、编辑框等都属于窗口。在MFC中,类CWnd作为窗口类的基类,抽象出了它们的共同特征,并由此派生出若干的子类。在普通的windows程序中,我们可以方便的使用MFC为我们封装好的这些类(CDialog, CButton ,CEdit等),而在游戏程序中,由于需要与dx/opengl原创 2004-10-14 20:33:00 · 3760 阅读 · 5 评论 -
游戏UI设计(1.2)--Textures & Sprite之封装
1.2 Textures & Sprite 之封装CXTexture & CXSprite[http://blog.youkuaiyun.com/mythma]1、 何为TexturesTextures是在屏幕上显示的平面图形,它能够提供比 surface 更多的图形处理效果——移动、缩放、旋转及作为纹理皮肤粘贴在3D模型上。在Direct3D中,其封装的接口为IDirect3DTexture原创 2004-10-02 20:45:00 · 5139 阅读 · 1 评论 -
游戏UI设计(1.3)--Keyboard&Mouse之封装
1.3 Keyboard & Mouse之封装CXKeyboard & CXMouse[ http://blog.youkuaiyun.com/mythma]1、 何为Keyboard & Mouse“地球人都知道”。DX9提供的接口 IDirectInputDevice8。2、 二者的功能Keyboard:读取键盘的按键信息Mouse:读取鼠标的按键、位置信息,设置光标属性(如用原创 2004-10-02 22:39:00 · 3866 阅读 · 0 评论 -
Sketchup文件纹理提取
除了材质上的颜色,材质上的纹理(Texture)是我们最为关心的元素。控制纹理能够在Face上正确的显示,可以由两个方式控制:1)修改texture coordinates(UVQ)的值2)修改Texture上的Scale从Sketchup的SDK可以获取上面的两个数据,并且Sketchup是同时使用上述两种方案。原创 2017-05-18 11:10:13 · 4234 阅读 · 0 评论