graphics
文章平均质量分 66
Damon_X
这个作者很懒,什么都没留下…
展开
-
vulkan tutorial
#define GLFW_INCLUDE_VULKAN#include <GLFW/glfw3.h>#include <iostream>#include <stdexcept>#include <cstdlib>#include <vector>#include <cstring>#include <optional>#include <set>const uint32_t WIDTH =.原创 2021-07-17 11:54:50 · 267 阅读 · 0 评论 -
questions
GLContext: Can a process have not only one context? what's the index of the context?100 floors, two eggs.check whether the binary tree is a BSTwhat is VBO?float in the computertextureview and surfaceviewthe pipeline of opengles原创 2021-06-25 10:00:11 · 116 阅读 · 0 评论 -
SurfaceView及TextureView区别
1、SurfaceView是什么它继承自类View,因此它本质上是一个View。但与普通View不同的是,它有自己的Surface。有自己的Surface,在WMS中有对应的WindowState,在SurfaceFlinger中有Layer。我们知道,一般的Activity包含的多个View会组成View hierachy的树形结构,只有最顶层的DecorView,也就是根结点视图,才是对WMS可见的。这个DecorView在WMS中有一个对应的WindowState。相应地,在SF中对应的Layer转载 2021-06-25 09:51:36 · 5257 阅读 · 0 评论 -
Linux 图形栈一览:基于 DRM 和 Wayland
Chen Jie创作于 2019/11/13打赏by Chen Jie of TinyLab.org 2019/10/07本文图示了基于 DRM 还有 Wayland 的 Linux 图形栈。在这个图形栈中,App 将画好的 surface,通过 Wayland 协议提交给 Compositor。Compositor 将来自各个应用的 surface(s) 合成为一帧,通过 DRM 接口最终画在 Frame Buffer,如下图所示:图 1:Linux 图形栈概览:Wayland..转载 2021-06-03 11:23:42 · 1054 阅读 · 0 评论 -
Android 如何使用GPU硬件加速
1.名词解释GPU:Graphic Processing Unit(图形处理器)OpenGL:Open Graphic Library定义了一个跨编程语言、跨平台的编程接口的规格,不同厂商会有不同的实现方法,它主要用于三维图象(二维的亦可)绘制。SurfaceFlinger:Android中负责Surface之间叠加、混合操作的动态库Skia:Android中的2D图形库libagl:Android中通过软件方法实现的一套OpenGL动态库libhgl:为区别libagl,自定义..转载 2021-05-27 16:42:12 · 1833 阅读 · 0 评论 -
note on video driver
In Linux, there is two parts for the video driver, the kernel part and the X server part.Let's identify your hardware first. By typinglspci | grep VGAin a terminal, you should see a line with you graphic card description (even if not configured at all)..原创 2021-05-27 16:28:06 · 191 阅读 · 0 评论 -
drm例子modeset-plane-test
环境是ubuntu,尝试编译的示例代码来自于这里:https://github.com/hexiaolong2008/sample-code/tree/master/drm/application/modeset-plane-test但是编译不停出错:$ gcc -I/usr/include/drm -ldrm modeset-plane-test.c -o modeset-plane-test/usr/bin/ld: /tmp/ccog2T3L.o: in function `modese原创 2021-04-15 20:18:30 · 1827 阅读 · 1 评论 -
Gamut
WWDC17上apple对display P3的解释,下面有pdf等材料:https://developer.apple.com/videos/play/wwdc2017/821/关于色域测量的文章<The Gamut of Real Surface Colours>,作者Michael.R.Pointer是杨博导师的小弟,英国人知乎上的相关文章:https://zhuanlan.zhihu.com/p/39990465...原创 2020-11-26 11:06:38 · 197 阅读 · 0 评论 -
Texture tiling and swizzling
If you’re working with images in your program, you’re most likely using a regular 2D array layout to store image data. Which is to say, it’s basically a 1D array ofwidth * heightpixels, and the index of every pixel in the array is normally computed asy ...转载 2020-11-25 10:11:15 · 288 阅读 · 0 评论 -
Swizzling
Definition - What doesSwizzlingmean?Swizzling, in the context of computer graphics, is the reordering of vector information in the pixel of an image in order to have it rendered quickly and more efficiently. This is because the swizzling is done in fav..转载 2020-11-25 10:09:43 · 178 阅读 · 0 评论 -
Texture tiling and swizzling
from: https://fgiesen.wordpress.com/2011/01/17/texture-tiling-and-swizzling/If you’re working with images in your program, you’re most likely using a regular 2D array layout to store image data.转载 2017-06-27 10:52:26 · 1106 阅读 · 0 评论 -
Video Rendering with 8-Bit YUV Formats Gary Sullivan and Stephen Estrop Microsoft Digital Media Div
Video Rendering with 8-Bit YUV FormatsGary Sullivan and Stephen EstropMicrosoft Digital Media DivisionApril 2002Updated August 2003Applies To: Microsoft® Windows®, Microsof转载 2017-06-26 14:34:34 · 748 阅读 · 0 评论 -
Android L SurfaceFlinger dump信息全解(1)
SurfaceFlinger的dump信息详解对于很多Android的显示问题,我们需要使用adb shell dumpsys SurfaceFlinger命令来获取SurfaceFlinger的dump信息,这对于我们分析问题有很大的帮助,因此我们这里来详细讲解下SurfaceFlinger的dump.SurfaceFlinger的dump信息主要通过dumpAllLocked 函数转载 2017-06-23 14:37:04 · 1564 阅读 · 0 评论 -
linux drm 架构 之代码分析
一 上一篇介绍了 Linux 的显示驱动drm 的架构,在这里按一定顺序回顾一下: 1 我把显示器连到显卡的DVI输出口, 这个连接抽象成 Connector 2 在 DVI 的 Connector 上驱动会分配 DVI 信号的 Encoder , 如果没分配, connector 资源上会找到 所有可用的 encoders 3 encoder 是为图像扫描现场转载 2017-06-22 14:00:19 · 4888 阅读 · 0 评论 -
linux drm 架构
http://manpages.ubuntu.com/manpages/utopic/man7/drm-kms.7.html根据自己的理解来转述一下:摘要:DRM 是Linux 下的图形渲染架构(Direct Render Manager) , 具体的说是显卡驱动的一种架构(驱动如何玩? 把功能封装成 open/close/ioctl 等标准接口,应用程序调用这些转载 2017-06-22 13:58:24 · 1703 阅读 · 0 评论 -
SurfaceFlinger and HWComposer
IntroductionIn the beginning, people believes that GPU composition is fast and power effiecent compared with CPU composition. Then, people find that in most usage scenarios, GPU can be kept sleep转载 2016-06-02 18:27:07 · 1493 阅读 · 0 评论 -
UNDERSTANDING ANDROID GRAPHICS INTERNALS -SURFACEFLINGER(V)
from: https://charleszblog.wordpress.com/category/android-2/graphics-android/This SurfaceFlinger series turns lengthy. Let’s see if we can wrap it up in this post.FramebufferSurface and Disp转载 2016-06-01 11:40:48 · 534 阅读 · 0 评论 -
UNDERSTANDING ANDROID GRAPHICS INTERNALS – SURFACEFLINGER (I)
from: https://charleszblog.wordpress.com/2014/02/22/understanding-android-internals-surfaceflinger-i/Let’s recapture what we have known of SurfaceFlinger from previous posts on Android Graphics.转载 2016-06-01 11:41:47 · 843 阅读 · 0 评论 -
UNDERSTANDING ANDROID GRAPHICS INTERNALS – SURFACEFLINGER (II)
Prior to Jelly Bean, the threadLoop in SurfaceFlinger.cpp processes composition and rendering sequentially in a thread loop. Newly enqueued graphic buffer won’t be handled until the rendering of cur转载 2016-06-01 11:43:08 · 333 阅读 · 0 评论 -
UNDERSTANDING ANDROID GRAPHIC- SURFACEFLINGER (IV)
Having known that BufferQueue exposes the APIs for consuming surface frame while implementing BnGraphicBufferProducer, we continue our attempt to demystify surface compositions and rendering with an转载 2016-06-01 11:45:28 · 308 阅读 · 0 评论 -
UNDERSTANDING ANDROID GRAPHICS INTERNALS – SURFACEFLINGER (III)
In this post, we discuss BufferQueue, BufferQueue::BufferSlotand BufferQueue::BufferState defined in frameworks/native/include/gui/BufferQueue.h.BufferQueueWe have learned the concepts of转载 2016-06-01 11:46:19 · 607 阅读 · 0 评论 -
UNDERSTANDING ANDROID GRAPHICS INTERNALS – GRALLOC AND HWCOMPOSER
gralloc and hwcomposer are hardware abstraction modules compliant to hw_module_t (defined in hardware/libhardware/include/hardware/hardware.h). Vendors mostly overwrite the android release implementat转载 2016-06-01 11:47:43 · 547 阅读 · 0 评论 -
UNDERSTANDING ANDROID GRAPHICS INTERNALS – GRAPHIC BUFFER HANDLING INTERFACES
In this post, we touch IGraphicBufferProducer, IGraphicBufferAlloc.IGraphicBufferProducerDefined in include/gui/IGraphicBufferProducer.h, it was formerly known as ISurfaceTexture. It is the转载 2016-06-01 11:48:20 · 435 阅读 · 0 评论 -
UNDERSTANDING ANDROID GRAPHICS INTERNALS – THE GRAPHIC SURFACE SERVICE INTERFACES
As pointed out in previous posts, Android does not allow UI applications to write to the frame buffer directly; SurfaceFlinger administrates the allocation of surfaces/graphic buffers to UI applicatio转载 2016-06-01 11:49:10 · 486 阅读 · 0 评论 -
UNDERSTANDING ANDROID GRAPHICS INTERNALS – GRAPHICS BASICS (I)
In this post, it is presumed that you know about frame buffer driver, display control, display overlay, frame buffer, frame rate, common color space schemes, graphics pipeline ,EGL, Direct Rendering I转载 2016-06-01 11:51:50 · 443 阅读 · 0 评论 -
UNDERSTANDING ANDROID GRAPHICS INTERNALS – GRAPHICS BASICS(II)
After the preceding post on ANativeWindow and ANativeWindowBuffer, we have the fodder to discuss GraphicBuffer and Surface.After the preceding posts on ANativeWindow and ANativeWindowBuffer, we ha转载 2016-06-01 11:52:32 · 460 阅读 · 0 评论 -
The Biggest Changes in C++11 (and Why You Should Care)
It’s been 13 years since the first iteration of the C++ language. Danny Kalev, a former member of the C++ standards committee, explains how the programming language has been improved and how it can he转载 2016-06-01 14:45:38 · 595 阅读 · 0 评论 -
android/DisplayHotplug
This feature is implemented as part of android version 4.2.1 and onward. The implementation is given as part of android's Surfaceflinger and HWComposer.The call flow chart of Surfaceflinger is giv转载 2016-06-02 18:25:06 · 642 阅读 · 0 评论 -
Android 4.4 Graphic系统详解(2) VSYNC的生成
VSYNC 的概念VSYNC(Vertical Synchronization)是一个相当古老的概念,对于游戏玩家,它有一个更加大名鼎鼎的中文名字—-垂直同步。“垂直同步(vsync)”指的是显卡的输出帧数和屏幕的垂直刷新率相同,这完全是一个CRT显示器上的概念。其实无论是VSYNC还是垂直同步这个名字,因为LCD根本就没有垂直扫描的这种东西,因此这个名字本身已经没有意义。但是基于历史转载 2016-05-27 18:19:54 · 1209 阅读 · 0 评论