自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

know yourself

knowthyself.cn 三维、架构、语言

原创 Vulkan规范 翻译招募

2017-09-14 其实,很早就开始翻译这份文档了,应该是二月份。但是,奈何时间总是不够的。本来也邀请了同学来做,也没有时间。我只能断断续续的做,速度太慢了,总共都没有完成七章,打算加把劲,完成十章。 在这里,也希望招募有兴趣的同学,加入到翻译的工作中,如果有五六个人,没人只有四章,每...

2017-11-01 20:33:08 465 0

翻译 Vulkan Specification(Vulkan规范):第十三章 13.1 描述符类型

13.1. 描述符类型 如下几个小节简单讲解Vulkan支持的各种描述符类型。 每一小节定义了一种描述符类型,每一种类型在着色器语言和SPIR-V中都有详细讲解。 描述符类型和着色器语言中不透明类型的类别大多数情况下是一对一的,着色器语言中不透明类型必须指代 对应描述符类型的管线布局中的一个描述...

2020-03-22 14:22:58 122 0

翻译 Vulkan Specification(Vulkan规范):第十三章 13 资源描述符

着色器通过使用特殊的着色器变量(通过API间接绑定到缓冲区或者图像视图)来访问缓冲区和图像资源。 这些变量被组织进入集合,每一个绑定的集合都通过API的一个描述符集合对象来表示,描述符集合只能被绑定一次。 一个描述符是一个不透明的数据类型,表示一个着色器资源,诸如缓冲区视图、图像视图、采样器或者被...

2020-03-22 14:21:23 54 0

翻译 Vulkan Specification(Vulkan规范):第十一章 11.7. 资源共享模式

11.7. 资源共享模式 缓冲区和图像对象能以共享模式被创建,控制它们如何被队列访问。 受支持的共享模式如下: typedef enum VkSharingMode { VK_SHARING_MODE_EXCLUSIVE = 0, VK_SHARING_MODE_CONCUR...

2020-03-21 20:24:10 57 0

翻译 Vulkan Specification(Vulkan规范):第十二章 采样器

12. 采样器 VkSampler对象代表着图像采样器的状态,图像采样器被Vulkan实现用来为着色器读取图像数据并进行过滤和其他变形操作。 采样器通过VkSamplerhandle表示: VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 可调用如...

2020-03-01 23:46:18 53 0

翻译 Vulkan Specification(Vulkan规范):第十一章 11.8. 内存别名

11.8. 内存别名 VkDeviceMemory内存的一段区间可以被称为aliased(被别名),若它通过vkBindImageMemory,vkBindBufferMemory,或者通过稀疏内存绑定,被同时绑定到多个资源上。 在两个图像或者两个缓冲区之间的 一段别名内存区间,其定义是:在绑定...

2020-03-01 23:45:13 63 0

翻译 Vulkan Specification(Vulkan规范):第十一章 11.6. 资源内存关联

11.6. 资源内存关联 资源初始都是以_虚拟分配_ 的方式创建的,并不占内存。 设备内存被单独分配(参看设备内存),然后再和资源关联上。 这个关联操作对于稀疏、非稀疏资源来说是不同的。 任何以稀疏标志创建资源都被认为是稀疏资源。 以这些标志之外的标志创建的资源被认为是非稀疏资源。 关于稀疏资...

2020-03-01 23:43:15 47 0

翻译 Vulkan Specification(Vulkan规范):第十一章 11.5. 图像视图

11.5. 图像视图 图像对象不会被管线着色器直接读写访问。作为替代,图像视图,表示图像资源连续的一部分,带有附加的元信息,可用作上述目的。 视图必须以与图像兼容的类型来被创建,必须表示图像资源的一个有效子集合。 图像视图通过VkImageView类型的handle表示: VK_DEFIN...

2020-03-01 23:42:22 94 0

翻译 Vulkan Specification(Vulkan规范):第十一章

11.4. 图像布局 图像被存储在依赖于Vulkan实现的不透明内存布局。Vulkan实现能能支持多种不透明布局,某个给定时刻使用的布局由 图像子资源的VkImageLayout状态决定。 每一个布局都有限制条件,如使用该布局可对图像子资源做何种操作。 Applications have con...

2020-03-01 23:41:15 70 0

翻译 Vulkan Specification(Vulkan规范):第十一章 11.3. 图像

11.3. 图像 图像表示多维(最多3维)的数组数据,可用于各种目的(比如:附件,纹理),通过描述符集合把它们绑定到一个图形或者计算管线, 或者直接当作参数直接传递个某些命令。 图像通过VkImage类型的handle表示: VK_DEFINE_NON_DISPATCHABLE_HANDL...

2020-03-01 23:39:32 71 0

翻译 Vulkan Specification(Vulkan规范):第十一章 11.2. 缓冲区视图

11.2. 缓冲区视图 一个缓冲区视图代表 连续范围的一个缓冲区和用来解释数据的特定格式。 缓冲区视图被用来让着色器能访问按照某种格式解释的缓冲区内容。 为了创建一个有效的缓冲区视图,缓冲区必须已经被创建好了,且带有下面的至少一个使用方式标志位: VK_BUFFER_USAGE_UNIFO...

2020-03-01 23:38:19 35 0

翻译 Vulkan Specification(Vulkan规范):第十一章 11.1. 缓冲区

Vulkan支持两种主要的资源类型:缓冲区和图像。 资源是带有关联格式、维度信息的内存视图。 缓冲区是未格式化字节数组,图像包含格式化信息,可以是多维的,也能有关联的元数据。 11.1. 缓冲区 缓冲区表示线性数组数据,通过描述符集合或特定命令或直接指定它们作为特定命令的参数 绑定到图形或者计...

2020-03-01 23:37:21 61 0

原创 关于一次疑似信息泄露事件的记录

先说事情。背景:这几天,公司要求开发组都针对产品功能思考一下发明专利的问题,我就在公司电脑上、手机上的浏览器 查询了一些资料。浏览器都没有登陆百度账号。否则,我第一个想法便是认为 百度出卖了我的隐私。我询问对方,他们也只是说从公司的AI数据库中拿到的数据,不知是那家公司把数据卖给了他们。我的手机上...

2019-12-12 21:19:38 102 0

翻译 Vulkan Specification(Vulkan规范):第十章 10.2.2 延迟内存分配

10.2.2. 延迟内存分配 若从堆中分配的内存带有VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT标志位, 这个对象对应的内存可能被Vulkan实现延迟分配。 内存真实的提交大小初始的时候可能最小为0(也可能可要求的一样大),当更多的内存被使用时不断的增长。 A...

2019-12-08 23:35:57 54 0

翻译 Vulkan Specification(Vulkan规范):第十章 10.2.1

10.2.1. CPU访问设备内存对象 通过vkAllocateMemory创建的内存对象不能被CPU端直接访问。 创建时带有VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT属性的内存对象被认为是可映射的。 内存对象必须是可映射的,才能被映射到CPU端。 可调用如下命令...

2019-12-08 23:35:13 39 0

翻译 Vulkan Specification(Vulkan规范):第十章 10.2 设备内存

设备内存是设备可见的内存,例如可以被设备原生访问的不透明图片的内容,或者常驻设备内存的统一缓冲区对象。 物理设备的内存属性描述了内存堆和可用的内存类型。 可调用如下命令来查询内存属性: void vkGetPhysicalDeviceMemoryProperties( VkPhys...

2019-12-08 23:34:29 50 0

原创 Qt Core 模块

由于这个模块太基础了,我反而没有看到有文章详细的写过。感觉这不太应该啊。core模块由如下几方面组成: 元对象 属性系统 强大的signal/slot机制。 对象树 多线程 IO、Container、状态机 事件系统 元对象系...

2019-12-03 20:38:03 97 0

原创 机器人应用开发

这三周(2018年11月)一直在做机器人手臂方面的调研工作。我负责三维显示与交互、机器人逆向动力学、碰撞检测等功能的demo搭建,另一位同事负责自动路径规划,硬件驱动交互等调研。调研过程中,我发现了机器人手臂这一个小的系统涉及到内容也是很有难度的,更不用说像Boston Dynamics 的机械狗...

2019-12-02 18:06:07 179 3

原创 C++ include 顺序

我不认同google style。我倾向于链接2 里面的的解释。 我倾向的风格: local to global 1. cpp 对应的h 文件 2. 同一个模块的h 文件 3. 其他模块的 h 文件(内部,或者外部,如Qt,Eigen) 4. 系统级别的 C++ h 文件 5. 系统级...

2019-12-02 18:03:43 131 0

翻译 Vulkan Specification(Vulkan规范):第十章 10.1 主机内存

Vulkan 内存分为两类:主机内存和设备内存。 10.1. 主机内存 主机内存是Vulkan实现需要的、设备不可见的内存。 这些内存可以用来存储软件内部数据。 Vulkan给应用程序提供了代表Vulkan实现来操作主机内存分配的机会。 如果这个特征没有被使用,Vulkan实现将使用自己的内...

2019-12-01 00:08:46 55 0

翻译 Vulkan规范:第九章 9.8 管线的绑定

一旦管线被创建完成,可以使用一个命令把它绑定到命令缓冲区: void vkCmdBindPipeline( VkCommandBuffer commandBuffer, VkPipelineBindPoint ...

2019-11-30 16:52:51 95 0

原创 如何创建个人微信公众号

前两年,身边的朋友以前托我做了一个CG行业的网站,配套的Android APP。因为是基于WordPress的修改,和开源的框架改写而成。虽然没有花费很多功夫,但是,后来发现网站和APP并没有带来很多流量与关注。之前我做移动端的同学也建议过,刚开始的时候,应该采用公众号的方式,只有用户很多,业务慢...

2019-11-27 20:39:45 69 0

翻译 Vulkan 术语(待完善)

本节定义的术语在本文档中通篇使用,可能全小写或者大写字母开头。 Accessible (Descriptor Binding) [可访问性] 若着色器阶段被包含在绑定描述符的stageFlags中,一个绑定描述符对于该着色器阶段可访问。使用该绑定的描述符只能在能够访问它们的阶段中使用。 Ac...

2019-11-25 23:55:57 98 0

原创 Qt GUI 模块

在core模块之上,就是最为重要的GUI模块了。Qt4中只有QtGui模块,UI相关的功能都封装在一起。Qt5中拆分为GUI、Widget两个模块。GUI模块提供桌面系统集成,事件处理,OpenGL/Vulkan,基础图像,字体等功能。通过链接1 可知,GUI模块的class 是相当少的。但是,它...

2019-11-23 23:31:50 116 0

原创 QString 转 wchar_t*

这两天浪费了一点时间在编码转换上。我们使用到的一个算法库,接口参数是一个wchar_t*,作为文件路径。经过实验,几种方法都没有用,是个麻烦问题。记录一下。找到了下面三种可以工作的方式。 方法1: file = filename.toStdWString(); const wchar_t* ...

2019-11-22 23:59:36 336 2

原创 工业软件设计上一些简单的原则

做了一年多新的项目,好几个,有的是部分参与,有的相当于全程参与,有的好,有的坏,关于交互设计这一部分,我实在是要吐槽一下。公司要是没有UE,就请一个好的PM;要是没有足够经验的PM,那么,请尊重程序员的建议。学历固然重要,经验也很重要。主管者不想听,自然,下次别人也不会多说。公司要求每个人都为大局...

2019-11-20 21:05:03 97 0

原创 Qt View 中用多线程

在View层,我们不可避免的需要一些多线程的控制,但是,却又没有达到抽象出一个线程给程序全局使用的程度,这个线程仅仅只需要负责本view内部的操作,这个线程的生命周期一般短于view的生命周期。所以,我们需要一个简单的方式。这里主要涉及到如下几种需求: 时间短,即使多算一遍、几遍也无所谓; 时间很...

2019-11-20 19:56:53 65 0

原创 OSG入门简介

Gitchat开通要先写一篇文章,我还没有想好完整的的教程目录。不过,肯定是三维方面的。后续的,想要开展一些桌面端、网站服务端架构介绍的专题。 OpenGL与DX11/12的选择?我认为,最好还是学习一下OpenGL。对于想做游戏的开发者,那毫无疑问,应该去学习DX。 OSG与OGRE选择...

2019-11-16 10:15:12 115 0

原创 MIUI 11

2019-11-13 更新了最新的MIUI 11,使用了一会儿,真的是感觉。。。这次的产品经理是认真的吗?在设置里给一堆“在查找其他设置吗?”,我能反问一下,这是智障的做法吗?这种询问的意义何在?不会设置老人,就因为你问了,就知道如何设置了?会设置的年轻人,还需要先问一下,才知道应该到哪里去设...

2019-11-13 21:55:02 285 0

原创 工程师个人价值

2019-11-09 最近出了华为胡玲一档子事儿,在这个关键节点把华为再次推向的舆论风口。虽然,在互联网的圈子很关注这件事,但是,相信并不会有太多人会因为胡玲的言论而坚决抵制华为。似乎大家都心知肚明,华为给员工超量工作,给出市场上两三倍的回报,两个字:公平。反而,我觉得华为是一家很实诚的公司,...

2019-11-13 19:41:33 273 0

原创 Qt 项目中的View、Controller

2019-11-05 我发现,一些Qt项目中,开发者因为Qt的框架提供了很好的解耦方式,便不再关注controller,把widget class 当作controller。这实在是不应该。在这样的代码基础上进行下去,就会发现所有的东西都逐渐放在了widget上。超大的cpp文件,ui、逻辑、...

2019-11-06 12:41:57 108 0

原创 软件授权与加密技术简单原理

2019-11-05 当前趋势下,互联网公司一般对外提供服务,而非直接出售软件,所以,大家不怎么关心软件授权、加密。但是,一些工业的软件拥有很核心的算法及技术专利。对外发布时,需要保护好程序。一般有如下要求: 不能让未被授权的第三方未经授权而使用程序。 不能让他人反编译程序,重现代码,推算出算...

2019-11-06 12:41:18 2200 0

原创 QImage与QPixmal视频播放

2019-11-05 新的项目中,需要从传感器实时获取图片并刷新显示,这边已有的代码里混用了QImage 与QPixmap。从QImage 转换为QPixmap 极为耗时,1000*1000 的size,debug模式下竟然需要12ms,CPU单核80%左右。导致UI很卡,这实在就过分了。我带...

2019-11-06 12:40:45 177 0

原创 osgWidget::Window数量较多时性能问题

2019-11-05 项目对三维显示功能提出了一项性能要求:在三维窗口上显示2000左右的overlay 控件。在OSG中,就是定制osgWidget::Window了,但是,OSG似乎并没有考虑这样数量的需求,而且osgWidget::Window构造2000个会非常慢,极其慢,十几分钟。另...

2019-11-06 12:40:12 35 0

原创 OSG QGLWidget ContextMenu删除致崩溃问题

2019-11-05 去年,公司项目在三维交互中提出了一项需求。在QGLWidget上构造的右键菜单中直接删除点选中的对象。对于被选择的普通三维对象,弹出的右键菜单删除它是没有问题的,但是,删除overlay层控件时,却导致OSG内部崩溃。我查看了一下OSG源代码,发现是设计之初没有考虑过这个...

2019-11-06 12:39:29 47 0

原创 工程管理文档:概要设计说明书

2019-11-05 软件工程管理中,有几个比较重要的文档,软件开发者这边会接触到的,有:需求输入表、需求规格说明书,概要设计,详细设计,自测报告。这里我想要谈一谈概要设计文档,也是对于开发者而言,最重要的文档。其他文档及相关过程,另写文章总结。 一、谁负责? 谁负责这个问题一定要明确?我...

2019-11-06 12:39:01 93 0

原创 UI编辑器 vs 手写UI代码

2019-09-21 相信做客户端UI的时候,肯定会如何实现UI而争论。是使用UI编辑器,还是完全依赖于手写。而且,对于不同类型的客户端UI,我们还需要更细致的区分一下,如桌面客户端UI、移动端UI、网页端UI、H5。 还需要针对不同类型的项目进行区分讨论,持续运营的互联网项目,传统企业项目,...

2019-09-22 14:17:58 220 0

原创 我的软件项目分级理论

2019-09-09 前两年就开始做一个项目体量分级,这个基础的概念,不说清楚,总感觉不好。现在笔记总结的差不多了,整理发布博客吧。这里只谈交付产品为软件,或者软硬件一体的项目类型。对于当下的软硬件一体的项目,大多重点在软件上,在算法上,结合在一起,可能虽然名义上软件不单独售卖,也不收费,但是...

2019-09-09 23:11:00 494 0

原创 三代单传、传宗接代、重男轻女

2019-08-19 偶然在某乎上看到一个问题:一个三代单传的男人,想要让女友以后生一个儿子,问自己有没有错。大部分回答都是骂提问者的。我实在觉得很有意思,但也懒得和别人去辩论一番,实在没有意思,便自己写一篇文章吧。我首先想到的一点,便是将问题改一下: v1:我是亚裔美国人,老婆亚裔女性,我家...

2019-08-20 00:13:16 306 0

原创 这天杀的win10

2019-08-18 这两年使用win10的过程中,发生了一些让我感觉很不爽的事情。而这些事情,从来没有在使用MacOS X,或者Linux上发生过,我实在想不通win10的产品经理脑子里到底在想什么?总的来说,我用win7也挺好的,也不是非得win10不可,也没瞧着win10带来了那些革命性...

2019-08-19 09:39:06 81 0

提示
确定要删除当前文章?
取消 删除