自定义博客皮肤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 三维、架构、语言

  • 博客(46)
  • 收藏
  • 关注

翻译 Vulkan编程指南翻译 第八章 图形管线 第5节 间接绘制

s

2017-03-29 09:30:06 1838

翻译 Vulkan编程指南翻译 第八章 图形管线 第4节 实例化

s

2017-03-29 09:29:13 811

翻译 Vulkan编程指南翻译 第八章 图形管线 第3节 索引化绘制

s

2017-03-29 09:28:38 845

转载 Vulkan Programming Guide 第一章 第3节

这是本书翻译的第一章,由wanghexu09008126 翻译,大家可以直接到该博客上查看。等所有的章节完成后,再合并。  Vulkan Programming Guide 第一章 第2节

2017-03-28 09:25:13 742

原创 Vulkan Programming Guide翻译进度总结

为了翻译Vulkan Programming Guide(新的红宝书),这一段时间,我也算是拼了命的来做这个翻译工作,想尽快完成一遍,第二遍的时候再仔细校对。奈何也总是加班,九点回去了之后才能搞,时间不够啊。  以后翻译的文章就不在博客上发布了,首发在CSDN上。完整的中文翻译网页放在http://vulkan.knowthyself.cn/  。所幸已经翻译到第八章了,还剩下不到1/3。加把

2017-03-25 00:00:43 2084 1

翻译 Vulkan编程指南翻译 第八章 图形管线 第2节 顶点数据

8.2  顶点数据如果你所使用的图形管线需要顶点数据,在执行任何绘制操作前,你需要绑定用来获取数据的哦缓冲区。当缓冲区被用来作为顶点数据的来源时,它们有时也被称为顶点缓冲区。把缓冲区当作顶点数据来用的命令是vkCmdBindVertexBuffers(),它的原型是:         voidvkCmdBindVertexBuffers (VkCommandBuffer

2017-03-24 14:04:07 956

翻译 Vulkan编程指南翻译 第八章 图形管线 第1节 准备绘制

第八章 绘制在本章你将学到:l  Vulkan中不同绘制名利的细节l  如何通过实例化来绘制多分复制的数据l  如何通过缓冲区传递绘制参数 绘制是Vulkan中基础的操作,由图形管线触发工作被执行。Vulkan包含多条绘制命令,每一个都以稍微不同的方式声称图形工作。本章深入研究Vulkan所支持的绘制命令。首先,我们在回顾一下第七章“”讨论过的基本绘制命令;然后,我们探索i

2017-03-24 13:18:32 1475

翻译 Vulkan编程指南翻译 第七章 图形管线 第5节 动态状态

7.5 如之前章节所见,图形管线是大型的、复杂的,包含很多状态的对象。在很多图形应用程序中,我们期望能够高频率的改变一些状态。如果每一个状态的每一次更改都需要你创建一个新的图形管线对象,那么你的应用程序中对象的个数将会迅速的变得很大。要精细粒度的管理状态的改变,Vulkan提供了以便定图形管线某部分为动态的能力,这意味着它们可以被命令缓冲区的命令而不是一个对象直接在运行时修改。因为这减少了

2017-03-22 19:52:52 1462

原创 Web框架系列:框架基础

很多做Web开发的同学都会有一个梦想,就是将来开发出来自己的一套Web应用框架,在项目中使用。刚开始做开发时,觉得这个东西好牛啊。只需要写一点代码,就能够做出带有业务逻辑的网站,就能够挣工资了。其实,写一个Web应用框架并不难,但是,写出一个能够经受工业强度测试的就不容易了。如果这个世界没有cracker,没有恶意攻击,我们现在做的工作可以减少一半。当然,世界就是这个样子的,或许,当下就是最好的样

2017-03-22 11:23:27 3017

翻译 Vulkan编程指南翻译 第七章 图形管线 第2节 Renderpasses(未完成)

a

2017-03-22 00:53:46 2301

翻译 Vulkan编程指南翻译 第七章 图形管线 第4节 创建简单的图形管线(下)

这一节实在太长了,拖了好久。还是分开发吧。7.4.3  输入组装图形管线的输入组装阶段接受顶点数据,并把它们分组,组成图元,以供管线接下来的部分处理。它是通过一个VkPipelineInputAssemblyStateCreateInfo类型的数据描述的,通过VkGraphicsPipelineCreateInfo类型数据的pInputAssemblyState

2017-03-22 00:51:23 1282

原创 读《STL 源码剖析》及感悟

买这本书有一段时间了,断断续续的,我对这方面的兴趣也不是特别大,很早之前看过了《深入实践C++ 模板编程》、《深入理解C++11 :C++11 新特性解析与应用》,而且,经过这两年的工作时间使用C++,我也认识到,一些技术层面的问题并不是那么重要,研究好了C++的机制和trick,对于项目而言帮助也不是最关键的。所以,我的关注重点还是停留在去了解了C++程序的高效性同时保有了强大的表述能力,不得不

2017-03-22 00:37:28 10261 1

转载 Vulkan Programming Guide 第一章 第2节

这是本书翻译的第一章,由wanghexu09008126 翻译,大家可以直接到该博客上查看。等所有的章节完成后,再合并。  Vulkan Programming Guide 第一章 第2节

2017-03-21 13:49:43 944

翻译 Vulkan编程指南翻译 第七章 图形管线 第4节 创建简单的图形管线

7.4  创建简单的图形管线 可调用和第六章“着色器和管线”中创建计算管线的函数类似的函数来创建图形管线。然而,你可以看到,图形管线包含很多个着色阶段和固定功能处理单元,所以,对于图形管线的相应的描述就复杂的多了。可调用vkCreateGraphicsPipelines()来创建图形管线,其原型如下:         VkResultvkCreateGraphicsPipelines

2017-03-20 10:08:22 1497

原创 追时髦技术

得益于互联网信息传播,程序员是一个能快速接触新鲜事物的群体。我们也热衷于追一些新潮的技术,其原因也不是可简单而论的。这样的追逐,有好处也有坏处。从正面意义上来说,是我们在对一些问题做主动的尝试,大多数尝试是失败的,或许需要从很多次失败的尝试中总结出有用的经验,这也是推动技术的方式。不好的方面是,有时候夸大的新技术的应用范围和能力,吸引了人去学习,却带不来“预期”的收益,浪费了一些人力、时间。 

2017-03-18 10:51:11 746

原创 Laravel简单使用

这段时间需要使用PHP写一些公司内部的网页,还涉及到数据库和文件操作,实在不想用原生的PHP来写,就捣鼓里一下Laravel,这个东西被评价为简单优雅。我一直是对编程世界里的所谓“优雅”这样的评价有意见,工程上的东西,首先要保证可工作,其次是能够稳健,再次才是美观。一味追求“优雅”,这可是本末倒置。总觉得,做Web开发中,多有这样的炒概念的行为。还是要务实一些。  PHP 5.3引入了name

2017-03-17 17:37:55 813

翻译 Vulkan编程指南翻译 第七章 图形管线 第3节 帧缓冲区

7.3  Framebuffer帧缓冲区是一个用来表示一些存储渲染结果的图像的对象。这影响管线最后几个阶段:深度和stencil测试,混合,logic 操作,多采样等等。一个帧缓冲区对象通过使用renderpass的引用来创建,可以和多个有类似附件排放的renderpass一同使用。调用vkCreateFramebuffer()可创建一个帧缓冲区对象,其原型如下:         VkRe

2017-03-16 19:56:12 811

原创 Web框架系列:Session的实现原理

WEB应用都很依赖session这一功能。不少同学不明白session的原理,其实,session实现起来非常简单。HTTP协议是无状态了,每次访问一个资源,就发起一次连接,得倒资源后,就关闭了连接。浏览器和服务器就无法联系了。所以,服务器为了认证浏览器的身份,需要让浏览器携带一个独一无二的信令,其他人无法获取到,也没有办法猜测到,每次浏览器来访问自己的时候都带上这个信令,服务器判断这个信令是不是

2017-03-16 16:22:03 1681

原创 AWS S3的使用

这两天Web这边有一个功能需求,使用到了AWS 的S3服务,这个东西在国内访问很慢,所以,一般也少有人使用,我们的业务主要在美国,所以,使用这个服务还是非常好的。国内的阿里云做到了云计算的龙头,我还是希望AWS北京数据中心能够尽快的开放出来,从去年中就开始公测,现在依然也没有个信儿,国内的境外企业的管制可真是严格。希望两方的加快工作进度吧。亚马逊给出的SDK实在是很多,各种语言的都有,不愧是大厂。

2017-03-16 14:01:45 15025

原创 程序员的可迁移技能和经验

不少新手程序员怕转工作方向。毕业后,我们几个同学做的方向不一,工作一段时间后,都有转变一下方向的想法,转变或大或小。如从2D游戏转向3D游戏,从Web转向游戏服务端,我自己也从Web转向了图形学开发,大家所经受的难度以不尽相同。我见到了较大的转方向是在HDF时和我差不多时间入职的一个同事,以前是做嵌入式的,现在转来做Web开发。做的也是很好。到目前为止,我都没有见到工作五年以上再转换工作方向的人。

2017-03-14 13:55:22 4834

原创 压力与重力

当一个人处在一个压力很大的岗位,一直经受着这种压力,一段时间后,压力是否会转化为体重计上新增的重力呢?在我这两年观察来看,还是有较大的概率会导致如此情况发生。如果说能够高压力下高任务量的工作,仍然还能保持身体健康,亦非常人,需要付出很大的努力。我们可以看一看,压力意味着什么?  1,意味着自由时间的减少。想在每天工作到晚上九点钟之后再去体育锻炼,不可能了。并不是公司逼迫你加班,而是到时候,有这

2017-03-14 09:59:48 512

原创 关于不能创业失败

前一段时间,出现了一个”高知夫妇创业失败带孩子流浪“的新闻,不知刺痛了多少创业者的心,在网络上也引起了广泛的讨论。我一直对于网络上报道的各种事情抱有谨慎的态度,一是报道都是片面的,我们很难看到所谓的事实,贸然去评判,实乃不智;二者,我认为应该秉持“do not judge”这样的观点,我们都受限于自己的见识,一些观念、意识并没有见到,但是并不代表别人就是错的,这个世界也没有简单到不是对的就是错的这

2017-03-13 22:13:45 385

翻译 Vulkan编程指南翻译 第七章 图形管线 第1节 逻辑图形管线

第七章 图形管线 在本章你将学到图形管线是什么样子的如何创建图形管线对象如何使用Vulkan绘制图元 或许Vulkan最常被当作图形管线API来使用。图形是Vulkan和驱动最基础的功能,是任何视觉效果程序的核心。Vulkan中图形处理可以被看作是管线,管线接受多个贯穿多个阶段图形命令,并在显示器上产生图像。本章将覆盖Vulkan中图形管线的基础并介绍第一个管线的例子。

2017-03-12 21:47:37 810

翻译 Vulkan编程指南翻译 第六章 着色器和管线 第5节 第6段 图像采样

这一节实在太长了,分篇来翻译。Sampled Images 当着色器从图像读数据时,他们可以可以使用两种方式。第一种是原生加载,从图像的指定位置直接读取格式化的或非格式化的数据,第二种是使用采样器对图像采样。采样包括:在图像坐标空间做基础变形或者纹素过滤来光滑图像返回到着色器。采样器的状态通过一个采样器对象表示,它可像图像或者缓冲区一样被绑定到描述符集合。可调用函数vkCreate

2017-03-11 18:48:50 865

翻译 Vulkan编程指南翻译 第六章 着色器和管线 第5节 在着色器中访问资源

6.5  在着色器中访问资源应用程序中的着色器有两种方式来消耗和生产数据。第一种是通过固定管线,第二种是直接读取和写入资源。你在第二章”内存和资源“中看到如何创建缓冲区和图像。在本节,我们介绍描述符集合,它表示着色器程序可以操作的资源的集合。 6.5.1描述符集合描述符集合是被绑定到管线的一系列资源形成的组。多个集合可以同时绑定到管线。每一个集合都有布局,描述了集合中资源的排放顺序

2017-03-10 08:16:33 1295

翻译 Vulkan编程指南翻译 第六章 着色器和管线 第4节 执行工作

6.4  执行工作在前一节,你看到了如何使用vkCreateComputePipelines()构造一个计算管线并把大绑定到一个命令缓冲区。一旦管线被绑定,你可以用它来执行工作。计算着色器作为计算管线的一部分,以分组的形式来执行,分组成为本地工作组。这些工作逻辑上速度一致的执行,在着色器里被指定了固定的大小。本地工作组最大个数一般比较小,但是至少是128调用 × 128 调用× 64 调用

2017-03-10 08:16:01 984

转载 Vulkan Programming Guide 第一章 第一节

这是本书翻译的第一章,由wanghexu09008126 翻译,大家可以直接到该博客上查看。等所有的章节完成后,再合并。http://blog.csdn.net/wanghexu09008126/article/details/60649590

2017-03-07 11:57:02 624

原创 3D游戏引擎设计--实时计算机图形学的应用方法

2015-03-06   这本书是非常好的参考资料,我在做最近的一个任务,需要在CAD程序中把全局坐标映射到局部坐标,本来对这个计算过程还是有一点模糊的,按照书中相关章节的分析,没花多久就实现出来了。虽然说这是图形学中最为基本的操作,我从无到有的学会并实现出来了,是非常受鼓励的。第1章 概述第2章 图形系统第3章 渲染器第4章 场景图第5章 控制器动画第

2017-03-07 10:25:59 2491

翻译 Vulkan编程指南翻译 第六章 着色器和管线 第3节 管线

6.3  管线如你在前面小节所读到的,Vulkan使用着色器module来表示一系列的着色器程序通过把module代码交给vkCreateShaderModule()可以创建着色器module,但是,在它们可以在设备上被用来工作之前,你需要创建管线。在Vulkan中有两种管线:计算和图形。图形管线相对复杂,且包含许多和着色器相关的状态。然而,计算管线在概念上简单多了,且出来着色器代码也不包

2017-03-07 00:26:35 1249

原创 什么是全栈工程师

2017-03-06“全栈工程师”是很多开发者喜欢提到的一个词,很多人刚入行的人也想成为这样牛叉的存在。想当初,我毕业的时候主打技术是Java系列的,可能会去做企业级系统的开发吧。却误打误撞做了PHP,入了互联网的坑(这里是狭义的互联网,指以WEB或App呈现技术,BS模式做产品的技术公司)。我也是对这个title梦寐以求。看了不少书,做了不少练习。从编译器,操作系统,Linux,汇编

2017-03-07 00:17:54 10181

翻译 Vulkan编程指南翻译 第六章 着色器和管线 第2节 SPIR-V 概述

6.2  SPIR-V 概述 SPIR-V着色器嵌入在module里。每一个module都可以包含一个或多个着色器。每一个着色器都有一个固定名字入口点和着色器类型,这用来定义着色器在哪个着色阶段来使用。入口点之着色器开始运行时的起始位置。一个SPIR-Vmodule都随着一些附带信息传递 给Vulkan,Vulkan返回一个对象来表示这个module。此module可以用来构造一个管线

2017-03-04 17:55:27 2853

翻译 Vulkan编程指南翻译 第六章 着色器和管线 第1节 GLSL简介

第六章 着色器和管线在本章你将学到l 什么事着色器及如何使用它l SPIR-V -- Vulkan渲染语言的基础知识l 如何构造着色器管线并用它做工作 着色器是在设备上执行的小程序。他们是任何复杂Vulkan程序构建的基础单元。对你的应用程序中操作来讲,着色器比Vulkan API更重要。本章介绍着色器和着色器模块,展示他们如何从SPIR-V二进制文件构建,并讲解如何使用标

2017-03-04 12:02:26 2255

原创 新手程序员学习与进阶之路

做技术的同学,都有成为高手的梦想。然而,编程行业出现并不久,你甚至在身边都找不到上一辈的人来指导方向,也很难在身边找到这个行业的人来做指导。绝大多数人,只能依靠学校的培养,非科班出身的还是少。在不同的阶段,应该有一些可行建议,来帮助我们更好、更快的走上编程的道路。我的学校一般,学校只为了就业率,有用的课程就教,打基础的课程很多没开,开了也没有给予应有的重视,想要深入学习,只能靠自己。我现在也不敢自

2017-03-04 11:13:29 1353 1

原创 什么叫做算法的?

2015-03-03  刚进入团队的时候,并没有什么具体的活儿,就是学习OpenGL红宝书并参看CAD系统的代码,理解架构。现在团队还没有完全建立起来,干活儿的只有几个人,还有学生帮着干活儿。一周多以后,我就接到了一个任务,帮着渲染族的同学做一个工具,是他们在实现一篇衣服渲染的BRDF算法的论文时,需要这么一个工具。在我工作以来,这就是我想要的,不想只能利用他人写的框架、库,离了它们就

2017-03-04 00:00:33 1468 1

翻译 Vulkan编程指南翻译 第五章 展现 第6节 清扫工作

5.6 清扫工作不管你在应用程序中用什么方法来呈现,你都需要正确的做清扫工作。第一,你应该销毁正在呈现的交换链。需要调用vkDestroySwapchainKHR()函数,其原型如下:void vkDestroySwapchainKHR(VkDevice device,VkSwapchainKHR swapchain,const VkAllocationCall

2017-03-03 16:05:30 548

原创 Vulkan编程指南翻译 第五章 展现 第5节 开始呈现

5.6 开始显示显示,是在队列上下文中发生的操作。一般,提交到队列的命令缓冲区中的命令被执行时,会产生用来显示图像,所以,这些图像只有在渲染操作完成后才能展示给用户。一个系统中一个设备可以支持多个队列,它们不必都支持显示。在你可以使用队列来在画幕上显示之前,你必须判断队列是否支持在某个画幕上显示。要想知道一个队列是否支持显示,传递物理设备,画幕,队列组到vkGetPhysica

2017-03-03 16:04:49 871

翻译 Vulkan编程指南翻译 第五章 展现 第3节 全屏画幕

5.4 全屏画幕在前一节提到的平台特定的拓展允许创建的VkSurface对象代表一个操作系统或者窗口系统原生的一个窗口。这些拓展通常被用来在一个桌面上可见的窗口做渲染工作。即使我们可以创建一个不带边框、占满真个屏幕的窗口,这样渲染效率更高。这个功能由VK_KHR_display和VK_KHR_display_swapchain拓展提供。这些拓展提供了一个平台无关的机制,来获取系统的显示器,

2017-03-02 17:25:55 757

翻译 Vulkan编程指南翻译 第五章 展现 第3节 交换链

5.4 全屏画幕在前一节提到的平台特定的拓展允许创建的VkSurface对象代表一个操作系统或者窗口系统原生的一个窗口。这些拓展通常被用来在一个桌面上可见的窗口做渲染工作。即使我们可以创建一个不带边框、占满真个屏幕的窗口,这样渲染效率更高。这个功能由VK_KHR_display和VK_KHR_display_swapchain拓展提供。这些拓展提供了一个平台无关的机制,来获取系统的显示器,

2017-03-02 17:24:27 768 1

原创 支持Vulkan的移动GPU

去年差不多这个时候,Vulkan标准发布,NVIDIA和AMD随之发布了显卡的Vulkan驱动,虽然都是实验版本。但是毕竟能够工作的。Intel的速度就慢了不少。时隔一年,Intel终于推出了Vulkan认证的驱动,虽然之前就有了实验性质的测试版本。  Intel Core Processor第五代和 第六代开始支持Vulkan,当然,最近发布的第七代肯定是支持的了。Intel还有一点很好,他

2017-03-02 15:51:46 11436

翻译 Vulkan编程指南翻译 第五章 展现 第2节 展现表面

5.2 展现表面被渲染的图形数据以备展示的对象被被称为”表面“,由一个VkSurfaceKHR类型的handle表示。这种特殊的对象由VK_KHR_surface拓展引入。这个拓展提供了处理surface对象的功能,但是它在各平台基础上高度定制化,以提供surface与窗口的对接的功能。Interfaces are defined for Microsoft Windows, Mir and 

2017-03-01 12:28:01 1078

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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