当前位置:网站首页>[TA frost wolf _may - "hundred people plan"] 1.4 introduction to PC mobile phone graphics API

[TA frost wolf _may - "hundred people plan"] 1.4 introduction to PC mobile phone graphics API

2022-07-01 03:42:00 zczplus

1.4.1 Basic concepts

  • Application end : The program itself , be relative to opengl es, Our own program belongs to the application side
  • Primitives : Geometry to render , Or shape . Any square or straight line is an element .
  • texture : Let's understand it , It can be understood as a picture , stay opengl es Texture is another name for a picture .
  • Striatin : The basic unit of texture
  • Vertex array : Vertex refers to the coordinate data of each vertex of an entity ( stay 3D In Cartesian coordinates, i.e x,y,z coordinate ), These coordinate data can be stored together in a memory array , This array is called the vertex array .
  • Vertex buffer : Allocate a special area in the video memory to store the vertex array , This memory area is called the vertex buffer .

1.4.2 DirectX, OpenGL, OpenGL ES

Khronos Defined OpenGL, Microsoft defines DirectX

  • Mobile terminal :ios and android All support OpenGL ES;
  • The computer :Windows System support DirectX and OpenGL, Linux/Mac System support OpenGL.

Khronos Open Standards for Graphics and Compute

  • 1990’s OpenGL
  • 2000’s OpenGL|ES
  • 2005 OpenGL|SC
  • 2008 OpenCL
  • 2014 SPIR
  • 2015 Vulkan

OpenGL ES

OpenGL ES 1.x Series of fixed function pipelines
OpenGL ES 2.0、3.0 Are programmable graphics pipelines .
Developers can write their own code for vertex shaders and fragment shaders in the graphics pipeline .
Rendering flow diagram :
 Render pipeline flow

Difference

  1. Compatibility
    3.0 Backwards compatible 2.0;
  2. New characteristics
    Shadow mapping 、 Volume rendering 、 be based on GPU Particle animation 、 Geometry instantiation 、 The important functions of texture compression and gamma correction are 2.0 Not available in .3.0 Introduce the above functions and continue to adapt to the limitations of the embedded system .
  3. Render pipeline
    3.0 Removed from Alpha Testing and logical operation ,Alpha Testing can be done in the clip shader , Logical operations are rarely used .
  4. Shader scripting
    (1) Version statement
    Must be used in shader scripts #version 300 es Declare as specified to use OpenGL ES 3.0 edition . Instead of adding a version statement or using #version 100 es The declared version specifies that OpenGL ES 2.0.
    (2) Input and output
    3.0 Added in,out,inout keyword , To replace attribute and varying keyword .
    At the same time to delete gl_FragColor and gl_FragData 了 , Clip shaders can use out Declare field output .
    (3) Variable assignment
    3.0 You can use it directly layout Assign a value to the variable at the specified position .

1.4.3 OpenGL ES 3.0 new function

I still can't understand , There's an impression , Come back and watch it later .

texture

Shaders

Geometry

Buffer object

Framebuffer

1.4.4 Xiao dragon Adreno Corresponding ES Version, model

Adreno Developed by Qualcomm SIP nucleus GPU And used in their own SoC, The core originally served as BitBoys be engaged in GPU Development work .
2006 year ,BitBoys By ATI Acquisition and opening Imageon product line . Same year AMD Acquisition ATI.2009 year 1 month ,AMD sell Imageon To Qualcomm , And then Imageon Renamed Adreno.

In recent years, Xiaolong's high-end processor version corresponds to Adreno

Xiao dragon 835——Adreno540
Xiao dragon 845——Adreno630
Xiao dragon 850——Adreno630
Xiao dragon 855——Adreno640

Various versions Adreno Corresponding OpenGL ES edition

Adreno130——OpenGL ES 1.1
Adreno200-225——OpenGL ES 2.0
Adreno302-330——OpenGL ES 3.0
Adreno405、418——OpenGL ES 3.1
Adreno420、430——OpenGL ES 3.2
Adreno505、506、508——OpenGL ES 3.2

That is to say, Xiaolong 8 More than one generation of CPU Have wisdom teeth OpenGL ES 3.2 了 .

Vulkan

A new generation API, Also by Khronos The company takes the lead in developing , Designed to be the next generation OpenGL.Vulkan Be able to make better use of CPU Multithreading capabilities of , And through exposure GPU Methods of underlying functions , Provides a large number of control means . Coupled with highly predictable behavior, the graphics effect is better . But for GPU High load of existing programs , If you want to pass OpenGL to turn to Vulkan It is impossible to achieve performance improvement . The focus is on CPU The optimization of the .

原网站

版权声明
本文为[zczplus]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/182/202207010324350556.html