연구의 선진화와 생산성 향상에
필요한 최적의 소프트웨어와 컨설팅을
공급하도록 노력하겠습니다.

Programmable GUI Builder for X-Windows


GINO에 내장된 기능은 다음과 같은 이점들을 제공합니다.

  • All software supplied and maintained by one company
  • Complete printed and on-line documentation in Fortran-90 (no need to buy OpenGL books written for the C programmer)
  • Full integration with existing 3D graphics routines
  • Full integration with GINOMENU offering widget facilities over and above f90gl
  • 3D object routines includes spheres, cubes, cones, volumes, wedges, spline surfaces and bezier surfaces
  • Common GINO interaction model under Windows and X avoiding the need for X-Windows or Windows API calls
  • Single call for Segment hitting
  • Automatic calculation of planar normals which are essential for flat shading
  • Automatic calculation of averaged normals for smooth shading of built-in 3D objects
  • Facets generated with one routine (compared to a minimum of 6)
  • Automatic grouping of adjacent primitives
  • GINOSURF switchable to utilise lighting, shading and animation of 3D surfaces
  • OpenGL graphics can be sent to a window (GINO), a PictureBox (GINO with VB, Delphi, Borland BCB, .NET) a graphics frame (GINOMENU) or a BMP file

Supported Platforms

GINO/OpenGL programs require access to the OpenGL libraries on the installed platform. Under Windows this consists of two DLL's, OPENGL32.DLL and GLU32.DLL which reside in the SYSTEM or SYSTEM32 directory. On UNIX platforms, OpenGL is usually provided as a proprietary set of libraries or in the case of LINUX, the MESA implementation can be used.
Under Windows, the performance of GINO/OpenGL programs depends on the installed graphics card and whether it provides hardware OpenGL acceleration or not. Most of the older graphics cards do not provide any acceleration, but GINO/OpenGL program will still work using the standard DLL's but at a slower pace.
It is important to always use the latest set of graphics card drivers as they are regularly being updated by the manufacturers (usually with improvements!)
GINO provides an interface to OpenGL through its 3D device drivers WOGL (on the PC) and GLX (on workstations). Existing GINO 2D and 3D graphics facilities are available using these drivers without program modification (except device driver nomination routine) often giving better performance where 3D graphics hardware is available.
New GINO features in the form of lighting and texture mapping etc. are fully integrated into the GINO library through proprietary subroutine calls which interface to OpenGL functionality in the OpenGL drivers alone. Lighting and texture mapping is not simulated on non-OpenGL device drivers.
Using a proprietary interface to the OpenGL functionality allows GINO to develop in parallel to OpenGL but also allows us to use any new 3D interface (eg. Direct 3D) without users having to change their applications.

Supported OpenGL Features

아래 리스트는 현재 버전의 GINO 라이브러리에서 가능한 OpenGL 기능들입니다.
이들 리스트는 GINO 다음 버전에서 변경될 수 있습니다.


  • Feature
  • Availability
  • Vertex Primitives
  • Points
  • gDrawPixel routine
  • Lines
  • All 2D/3D lines buffered up to form line strips
  • Line Strips
  • Normal 2D/3D line drawing
  • Line Loop
  • No
  • Triangles
  • gDrawFacet routine with 3 vertices
  • Triangle Strips
  • No
  • Traingle Fans
  • No
  • Quads
  • gDrawFacet routine with 4 vertices
  • Quad Strips
  • No
  • Polygon
  • gDrawFacet routine with > 4 vertices
  • Edge Flags
  • No
  • Normals
  • Automatic or optional arg in gDrawFacet routine
  • Vertex colours
  • Optional argument in gDrawFacet routine
  • Texture coordinates
  • Optional argument in gDrawFacet routine
  • Primitive attributes
  • Line width and stipple
  • Yes
  • Culling
  • Yes
  • Polygon mode ? solid/hollow
  • Yes
  • Facet Offset
  • Yes
  • Pixel facilities
  • Drawing
  • Yes
  • Copying
  • Yes
  • Reading
  • Yes
  • Storage and transfer modes
  • No
  • Pixel buffer control
  • No
  • Pixel zooming
  • Software emulation
  • Bitmaps
  • No
  • Lighting and Colouring
  • 8 independent lights
  • Yes
  • Ambient, directional, point and spot light types
  • Yes
  • Material properties
  • Via table or direct setting
  • Colour matching
  • Yes
  • Model shading
  • Flat and smooth
  • Lighting control
  • One/Two sided lighting switch only
  • Fog
  • Yes
  • Texture mapping
  • 1D images
  • No
  • 2D images
  • Yes
  • Filtering control
  • Yes
  • Environment mapping
  • Yes
  • Viewing and clipping
  • 3D viewport
  • Yes
  • Parallel and perspective views
  • Yes through existing viewing routines
  • 3D clipping
  • Yes
  • Additional clipping planes
  • No
  • Modelling
  • Shift, scale, rotate
  • Through existing routines
  • Matrix control
  • Through existing routines
  • Display Lists
  • Creation
  • Through existing segment facilities
  • Deletion
  • Through existing segment facilities
  • Referencing
  • Through existing segment facilities
  • Drawing buffer
  • Yes
  • Depth buffer
  • Yes
  • Stencil buffer
  • No
  • Accumulation buffer
  • No
  • Functions and tests
  • Alpha
  • No
  • Blending
  • Yes

Performance

Performance of OpenGL programs can be improved in many ways, including those described below:
  • Use as few light sources as possible
  • Store objects in segments
  • In animated objects, only use the facet primitive - most cards are tuned to draw only triangular facets at high speed
  • Use as few changes to material properties within an object as possible - i.e. group together facets with the same material
  • Cull back facing facets if possible
  • Switch off back surface lighting
  • Try changing to a lower resolution (some graphics cards do not perform well at very high resolutions such as 1600 x 1200)
  • Check the Depth Buffer capabilities of the graphics card and set GINO to match it
If performance or other problems persist, make sure that you have the latest video driver from the manufacturer - don't rely on the one supplied with the board as it will almost always be out-of-date. Alternatively, go to http://www.opengl.org/applications/graphic_cards.html where there is a Glsetup program to automatically analyze and download the latest drivers for most of the popular boards.