Opengl SC: Differences to Opengl ES

Opengl SC: Differences to Opengl ES

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 OpenGL ES 3.0 (Halti) Expected http://mobilegraphics.co.kr/ 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_LINES GL_POINTS GL_LINE_STRIP GL_LINE_LOOP GL_POLYGON GL_TRIANGLES GL_TRIANGLE_STRIP GL_QUADS GL_QUAD_STRIP GL_TRIANGLE_FAN http://mobilegraphics.co.kr/ 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 Getting to the Framebuffer Scissor Alpha Stencil Test Test Test Fragment Depth Logical Test Blending Dithering Operations Framebuffer http://mobilegraphics.co.kr/ 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/

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    66 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us