Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
otb
otb
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 287
    • Issues 287
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 14
    • Merge Requests 14
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Main Repositories
  • otbotb
  • Merge Requests
  • !608

Closed
Opened Oct 11, 2019 by Guillaume Pasero@gpaseroOwner
  • Report abuse
Report abuse

Ice OpenGL refactoring

  • Overview 1
  • Commits 55
  • Pipelines 14
  • Changes 41

The rendering library Ice is refactored with modern OpenGL API ("GLSL" mode, shaders + Vertex Aray). A large part of the functions previously used were deprecated since OpenGL 3.0, and removed in OpenGL 4.6.

The compatibility mode is still there ("OpenGL" mode).

Minimum versions for GLSL mode are: OpenGL 3.0, GLSL 1.30.

Details on the refactoring:

  • Shaders now have vertex and fragment programs. FragmentShader renamed to Shader.
  • All GlActors can have a shader. When GLSL is ON, client code should call actor->CreateShader() after creating the Actor.
  • New shader: MinimalShader, it handles the projection and model matrices, and uses a constant color.
  • New classes added:
    • GlError : reporting of OpenGL error codes
    • GlHandle : handling of OpenGL resources (VA, VBO)
    • GlBufferObject : handles a Buffer Object (support both VertexBufferObject and IndexBufferObject): creation, binding, deletion
    • GlVertexArray : handles a Vertex Array Object: creation, binding, deletion
    • GlMesh : generic structure for a mesh geometry (list of vertices + faces). Used to implement VA/VBO for GlImageActor and GlROIActor

Related to #1930 (closed)

Assignee
Assign to
Reviewer
Request review from
7.0.0
Milestone
7.0.0
Assign milestone
Time tracking
Reference: orfeotoolbox/otb!608
Source branch: 1930-shader-bug-xp