# 3. Design

Since Version 2.0.0 R1 the object model of GL4Java is completly changed ! But it is very easy to port existing 1.X.X RX GL4Java stuff to the new object model. The script ../../demos/change2GL4JavaV2.sh will help.

GL4Java is designed to use the native OpenGL library, which should be installed on each platform. Instead of writing an own OpenGL library, we just write a wrapper to access the nativ platform dependend OpenGL library.

Subsections

- 3.1 Native-Call to OpenGL
- 3.2 Java-Call to OpenGL
  - 3.2.1 JNI to OpenGL
    - 3.2.1.1 Data Type Mappings
    - 3.2.1.2 JNI Generation
- 3.3 OpenGL's Connection to the Windowing-System
  - 3.3.1 X-Window-System
  - 3.3.2 MS-Windows
- 3.4 OpenGL's Connection to the AWT
- 3.5 OpenGL Mapping to Java
  - 3.5.1 Convinient Placement
  - 3.5.2 Keeping the OpenGL C-API
    - 3.5.2.1 The Naming Convention