OpenGL SC
Upcoming SlideShare
Loading in...5
×
 

OpenGL SC

on

  • 762 views

Following our successful participation at SIGGRAPH Asia 2012 in Singapore, the Khronos Group is excited to demonstrate and educate about Khronos APIs at SIGGRAPH Asia 2013 in Hong Kong. This ...

Following our successful participation at SIGGRAPH Asia 2012 in Singapore, the Khronos Group is excited to demonstrate and educate about Khronos APIs at SIGGRAPH Asia 2013 in Hong Kong. This presentation covers the OpenGL SC (Critical Profile), by Nakhoon Baek

Statistics

Views

Total Views
762
Views on SlideShare
762
Embed Views
0

Actions

Likes
1
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

OpenGL SC OpenGL SC Presentation Transcript

  • OpenGL SC: differences to OpenGL ES Nakhoon Baek CTO, Mobile Graphics Inc., Korea Professor, Kyungpook National University, Korea © Copyright Khronos Group, 2012 - Page 1
  • OpenGL SC © Copyright Khronos Group, 2012 - Page 2
  • Safety Critical – OpenGL SC 1.0 • targeted at safety-certified avionics and automotive displays - minimum driver size and complexity - DO-178B certification • working group: - Seaweed (now, Presagis) - Barco - ALT Software - Diehl Aerospace - Esmertec (now, Myriad Group) - 3DLabs (now, ZiiLABS) - Quantum3D http://mobilegraphics.co.kr/ 3 Copyright Khronos Group, 2012 - Page 3 ©
  • Military & Avionics: the major market © Copyright Khronos Group, 2012 - Page 4
  • OpenGL SC 1.0 • originally, OpenGL ES Security Critical Profile - started as a variation of OpenGL ES • spin out as OpenGL SC 1.0 http://mobilegraphics.co.kr/ 5 Copyright Khronos Group, 2012 - Page 5 ©
  • OpenGL SC features • based on OpenGL 1.3 • extinguished features (w.r.t. OpenGL ES) - glBegin / glEnd paradigm - display support : a kind of script • recently, - OpenGL SC 1.0 conformance test suites - discussions on the next version (F2F meeting in this Oct.) - OpenGL SC 1.1 ? - OpenGL SC 2.0 ? http://mobilegraphics.co.kr/ 6 Copyright Khronos Group, 2012 - Page 6 ©
  • Relationships • OpenGL 1.3  OpenGL ES 1.0  OpenGL SC 1.0 • OpenGL 1.5  OpenGL ES 1.1 • OpenGL 2.0 + extra features  OpenGL ES 2.0 • OpenGL 3.x http://mobilegraphics.co.kr/  OpenGL ES 3.0 (Halti) Expected 7 Copyright Khronos Group, 2012 - Page 7 ©
  • Certifications for Airborne Systems mobile graphics lab@KNU 8 Copyright Khronos Group, 2012 - Page 8 ©
  • DO-178B • DO-178B, Software Considerations in Airborne Systems and Equipment Certification - from RTCA, Inc. (Radio Technical Commission for Aeronautics) - FAA (Federal Aviation Administration) 인증 - goal: guidance to determine if the software will perform safely and reliably, in an airborne environment • also known as ED-12B - from EUROCAE (European Organization for Civil Aviation Equipment) mobile graphics lab@KNU 9 Copyright Khronos Group, 2012 - Page 9 ©
  • DO-178B : software levels • Catastrophic - Failure may cause a crash. • Hazardous - Failure has a large negative impact on safety or performance • Major - Failure is significant, but has a lesser impact than a Hazardous failure • Minor - Failure is noticeable, but has a lesser impact than a Major failure • No Effect - Failure has no impact on safety, aircraft operation, or crew workload. mobile graphics lab@KNU 10 © Copyright Khronos Group, 2012 - Page 10
  • DO-178B : process • from Software Engineering point of view, • lots of documents ! • at Planning Stage, - Plan for software aspects of certification (PSAC) - Software development plan (SDP) - Software verification plan (SVP) - Software configuration management plan (SCMP) - Software quality assurance plan (SQAP) - System requirements - Software requirements standards - Software design standards (SDS) - Software code standards (SCS) mobile graphics lab@KNU 11 © Copyright Khronos Group, 2012 - Page 11
  • DO-178B : process • Development stage, - Software requirements data (SRD) - Software design description (SDD) - Source code - Executable object code • Verification stage, - Software verification cases and procedures (SVCP) - Software verification results (SVR): - Review of all requirements, design and code - Testing of executable object code - Code coverage analysis mobile graphics lab@KNU 12 © Copyright Khronos Group, 2012 - Page 12
  • DO-178B : process • Configuration management - Software configuration index (SCI) - Software life cycle environment configuration index (SECI) • Quality Assurance - Software quality assurance records (SQAR) - Software conformity review (SCR) - Software accomplishment summary (SAS) mobile graphics lab@KNU 13 © Copyright Khronos Group, 2012 - Page 13
  • SC components © Copyright Khronos Group, 2012 - Page 14
  • OpenGL SC core features • OpenGL SC core functions: totally 101 functions - 32 functions are completely new features w.r.t. OpenGL ES - glBegin / glEnd paradigm - glVertex functions - display list support : a kind of script http://mobilegraphics.co.kr/ 15 © Copyright Khronos Group, 2012 - Page 15
  • Core Addition • OES_single_precision extension - DepthRangef(clampf n, clampf f) - Frustumf(float l, float r, float b, float t, float n, float f) - Orthof(float l, float r, float b, float t, float n, float f) - ClearDepthf(clampf depth) - allowing float-type parameters, rather than double-type http://mobilegraphics.co.kr/ 16 © Copyright Khronos Group, 2012 - Page 16
  • Required Extension • EXT_paletted_texture - color-indexed texture + color table (or, palette) - need COLOR_INDEX8_EXT extension support for texturing functions - need some extensions into the TexImage2D function - ColorTableEXT ColorSubTableEXT GetColorTableEXT GetColorTableParameterivEXT http://mobilegraphics.co.kr/ 17 © Copyright Khronos Group, 2012 - Page 17
  • Optional Extension • EXT_shared_texture_palette - several textures can share a single texture palette - need some extensions to Enable, Disable, IsEnabled, GetBooleanv, GetFloatv, GetIntegerv functions - ColorTableEXT ColorSubTableEXT GetColorTableEXT GetColorTableParameterivEXT http://mobilegraphics.co.kr/ 18 © Copyright Khronos Group, 2012 - Page 18
  • Technical Issues • new implementations are needed for: - required extension: EXT_paletted_texture - optional extension: EXT_shared_texture_palette • since year 2004, there is no graphics card supporting the above extensions - old NVIDIA chips such as GeForce 5 series can support it. - no ATI chips support it. • Conclusively, new implementations are required http://mobilegraphics.co.kr/ 19 © Copyright Khronos Group, 2012 - Page 19
  • API Features © Copyright Khronos Group, 2012 - Page 20
  • 2.5 GL Errors mobile graphics lab@KNU 21 © Copyright Khronos Group, 2012 - Page 21
  • Geometric Primitives • All geometric primitives are specified by vertices GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_POLYGON GL_TRIANGLES GL_TRIANGLE_STRIP GL_QUADS GL_TRIANGLE_FAN http://mobilegraphics.co.kr/ GL_QUAD_STRIP 22 © Copyright Khronos Group, 2012 - Page 22
  • 2.6 Begin/End Paradigm • drawing primitives: - points - line segment, line strip, line loop - triangle, triangle strip, triangle fan mobile graphics lab@KNU 23 © Copyright Khronos Group, 2012 - Page 23
  • 2.6 Begin/End Paradigm • state machine approach • not supported in OpenGL ES • glBegin( GL_TRIANGLES ); - glColor4f( 1.0F, 0.5F, 0.5F, 1.0F ); - glVertex2f( 0.0F, 0.0F ); - glVertex2f( 1.0F, 0.0F ); - glVertex2f( 0.0F, 1.0F ); • glEnd( ); mobile graphics lab@KNU 24 © Copyright Khronos Group, 2012 - Page 24
  • 2.7 Vertex Specification • float version only mobile graphics lab@KNU 25 © Copyright Khronos Group, 2012 - Page 25
  • 2.8 Vertex Arrays • float version only • no stride : always tightly packed arrays mobile graphics lab@KNU 26 © Copyright Khronos Group, 2012 - Page 26
  • 2.8 Vertex Arrays • DrawArrays, DrawElements : similar to OpenGL ES mobile graphics lab@KNU 27 © Copyright Khronos Group, 2012 - Page 27
  • 2.10 Coordinate Transformations • corresponds to OpenGL ES 1.1 features mobile graphics lab@KNU 28 © Copyright Khronos Group, 2012 - Page 28
  • 2.10 Coordinate Transformations • no texture matrix mobile graphics lab@KNU 29 © Copyright Khronos Group, 2012 - Page 29
  • 2.13 Colors and Coloring • single material properties for front and back faces mobile graphics lab@KNU 30 © Copyright Khronos Group, 2012 - Page 30
  • 2.13 Colors and Coloring • only 2 lights • no spot light mobile graphics lab@KNU 31 © Copyright Khronos Group, 2012 - Page 31
  • 2.13 Colors and Coloring • no two side lighting • color material support mobile graphics lab@KNU 32 © Copyright Khronos Group, 2012 - Page 32
  • 3.2 Antialiasing • no multisampling support mobile graphics lab@KNU 33 © Copyright Khronos Group, 2012 - Page 33
  • 3.3 Points • minimum requirement: only for point size = 1 mobile graphics lab@KNU 34 © Copyright Khronos Group, 2012 - Page 34
  • 3.4 Line Segments • line stipples are supported mobile graphics lab@KNU 35 © Copyright Khronos Group, 2012 - Page 35
  • 3.5 Polygons • polygon stipples are also support mobile graphics lab@KNU 36 © Copyright Khronos Group, 2012 - Page 36
  • 3.8 Texturing • supported image types: unsigned byte only mobile graphics lab@KNU 37 © Copyright Khronos Group, 2012 - Page 37
  • 3.8 Texturing • texture image formats and types mobile graphics lab@KNU 38 © Copyright Khronos Group, 2012 - Page 38
  • 3.8 Texturing • 2D texture only mobile graphics lab@KNU 39 © Copyright Khronos Group, 2012 - Page 39
  • 3.8 Texturing • 2D texture only mobile graphics lab@KNU 40 © Copyright Khronos Group, 2012 - Page 40
  • 3.8 Texturing • no texture release ! - no garbage collection - i.e., only memory allocations mobile graphics lab@KNU 41 © Copyright Khronos Group, 2012 - Page 41
  • 3.8 Texturing • texture environment support - limited environment modes: MODULATE, REPLACE, DECAL, BLEND, ADD mobile graphics lab@KNU 42 © Copyright Khronos Group, 2012 - Page 42
  • 3.9 Fog • no fog support mobile graphics lab@KNU 43 © Copyright Khronos Group, 2012 - Page 43
  • Scissor Test Depth Test http://mobilegraphics.co.kr/ Alpha Test Blending Dithering Stencil Test Framebuffer Fragment Getting to the Framebuffer Logical Operations 44 © Copyright Khronos Group, 2012 - Page 44
  • Scissor Box, Alpha Test • Additional Clipping Test glScissor( x, y, w, h ) - any fragments outside of box are clipped - useful for updating a small section of a viewport • Reject pixels based on their alpha value glAlphaFunc( func, value ) glEnable( GL_ALPHA_TEST ) - use alpha as a mask in textures http://mobilegraphics.co.kr/ 45 © Copyright Khronos Group, 2012 - Page 45
  • Stencil Buffer glStencilFunc( func, ref, mask ) glStencilOp( fail, zfail, zpass ) • controlled drawing based on values in the stencil buffer - Example: create a mask in stencil buffer and draw only objects not in mask area stencil area for the mirror http://mobilegraphics.co.kr/ 46 © Copyright Khronos Group, 2012 - Page 46
  • Blending • Combine pixels with what’s in already in the framebuffer glBlendFunc( src, dst )    Cr  src C f  dst C p Blending Equation Fragment (src) Blended Pixel Framebuffer Pixel (dst) http://mobilegraphics.co.kr/ 47 © Copyright Khronos Group, 2012 - Page 47
  • 4.1 Per-Fragment Operations • restricted alpha functions: LEQUAL, ALWAYS only mobile graphics lab@KNU 48 © Copyright Khronos Group, 2012 - Page 48
  • 4.1 Per-Fragment Operations • restricted depth function support: LESS, LEQUAL, ALWAYS only mobile graphics lab@KNU 49 © Copyright Khronos Group, 2012 - Page 49
  • 4.1 Per-Fragment Operations • Blend Factor Combinations • no other modes are supported mobile graphics lab@KNU 50 © Copyright Khronos Group, 2012 - Page 50
  • 4.1 Per-Fragment Operations • restricted blend function support mobile graphics lab@KNU 51 © Copyright Khronos Group, 2012 - Page 51
  • 4.2 Whole Frame-buffer Operations • same to OpenGL ES mobile graphics lab@KNU 52 © Copyright Khronos Group, 2012 - Page 52
  • 2.12 Current Raster Position • specify the location for glBitmap, glDrawPixels, glCopyPixels mobile graphics lab@KNU 53 © Copyright Khronos Group, 2012 - Page 53
  • 3.6 Pixel Rectangles / 3.7 Bitmaps • DrawPixels : RGBA image only • Bitmap : B/W image, drawn with current raster color - current raster color = current color when the last glRasterPos( ) called. mobile graphics lab@KNU 54 © Copyright Khronos Group, 2012 - Page 54
  • 4.3 Pixels • ReadPixels : RGBA, unsigned byte only • CopyPixels : specified region  current raster position mobile graphics lab@KNU 55 © Copyright Khronos Group, 2012 - Page 55
  • 5.4 Display Lists • no release of allocated lists mobile graphics lab@KNU 56 © Copyright Khronos Group, 2012 - Page 56
  • 5.5 Flush and Finish mobile graphics lab@KNU 57 © Copyright Khronos Group, 2012 - Page 57
  • 5.6 Hints • only hints, maybe not working mobile graphics lab@KNU 58 © Copyright Khronos Group, 2012 - Page 58
  • 6.1 Querying • no double type support mobile graphics lab@KNU 59 © Copyright Khronos Group, 2012 - Page 59
  • Core Extension: OES_single_precision mobile graphics lab@KNU 60 © Copyright Khronos Group, 2012 - Page 60
  • Required: EXT_paletted_texture • paletted texture mobile graphics lab@KNU 61 © Copyright Khronos Group, 2012 - Page 61
  • Required: EXT_paletted_texture • COLOR_INDEX8 are supported mobile graphics lab@KNU 62 © Copyright Khronos Group, 2012 - Page 62
  • Required: EXT_paletted_texture • add new functions mobile graphics lab@KNU 63 © Copyright Khronos Group, 2012 - Page 63
  • Optional: EXT_shared_texture_palette • affected functions: mobile graphics lab@KNU 64 © Copyright Khronos Group, 2012 - Page 64
  • Closing Remarks mobile graphics lab@KNU 65 © Copyright Khronos Group, 2012 - Page 65
  • Summary • OpenGL SC : safety critical profile - based on OpenGL 1.3 - similar to OpenGL ES 1.1 - but, some distinguished features - begin-end paradigm - display lists - texture palettes • future works - a new version is expected - conformance test passed implementations are expected to be used widely © Copyright Khronos Group, 2012 - Page 66