graphics
文章平均质量分 93
makefish
Graphics,Chromium
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Rectangle Texture
矩形纹理(Rectangle_Texture)里面是一个2D image,该image不包含mipmap。当对纹理进行采样的时候,需要使用texel value来访问纹理里面的点。这和普通的GL_TEXTURE_2D的不一样,普通的纹理使用的是归一化的纹理坐标(Real time rendering 149页, 将图片纹理里面的像素,叫做texel,所以texel value指的就是纹理像素的真实...原创 2019-01-21 15:48:40 · 881 阅读 · 1 评论 -
Skia实现图像边缘检测
这里使用的是Laplace算子: Skia的实现如下: #include "SkMatrixConvolutionImageFilter.h" void draw(SkCanvas* canvas) { SkScalar kernel[9] = { SkIntToScalar(-1), SkIntToScalar(-1), SkIntToScalar(-1), SkI...原创 2019-02-20 19:02:21 · 627 阅读 · 0 评论 -
3D编程的深度信息
深度信息在不同的阶段其意义是不同的,不同的3D接口对这个深度信息的理解也有区别。本文仅仅讨论位于NDC空间的深度信息,其取值范围通常是[0, 1.0]或者[-1.0, 1.0]。 OpenGL的深度信息 OpenGL默认是GL_NEGATIVE_ONE_TO_ONE,即[-1.0, 1.0]。 通过glClipControl(GL_ZERO_TO_ONE)可以修改为[0, 1.0]。修改后可以和D...原创 2019-08-08 14:27:29 · 337 阅读 · 1 评论 -
SwiftShader-Vulkan的线程结构
SwiftShader是谷歌的开源项目,使用软件的方式实现了部分GPU的渲染功能,它支持OpenGL/Vulkan/D3D等接口。本文讨论SwiftShader的Vulkan实现,它本身是通过多线程来实现的: Submit线程:将用户提交到同一个CommandBuffer的Vulkan命令整理成绘图任务(Task,也可以叫DrawCall); Raster线程:执行绘图任务。绘图任务主要工作是:...原创 2019-08-14 13:19:18 · 4357 阅读 · 0 评论 -
OpenGL和Vulkan的Color Renderable Format
Image/Texture资源可以分为两种: Sampleable Renderable OpenGL ES 2.0 https://www.khronos.org/registry/OpenGL/specs/es/2.0/es_full_spec_2.0.pdf Vulkan Vulkan的情形要复杂一些,每个不同用途的Image,支持的格式都是有区别的。 所以Vulkan在处理Image...原创 2019-08-15 14:41:40 · 834 阅读 · 0 评论
分享