Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2004:
[Freeciv-Dev] (PR#7124) [FS] Drawing abstraction layer for OpenGL
Home

[Freeciv-Dev] (PR#7124) [FS] Drawing abstraction layer for OpenGL

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [Freeciv-Dev] (PR#7124) [FS] Drawing abstraction layer for OpenGL
From: "Raimar Falke" <i-freeciv-lists@xxxxxxxxxxxxx>
Date: Mon, 2 Feb 2004 13:10:26 -0800
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=7124 >

On Sat, Dec 20, 2003 at 10:53:20AM -0800, Raimar Falke wrote:

X11 without extensions as a backend is quite slow if transparency is
used. OpenGL may be an alternative here. Note that OpenGL is used here
only for 2D drawing. Not 3D stuff even when OpenGL was designed for
this.

I haven't coded any OpenGL applications till now except some 5 liner
in Python. So I want to ask about some general concepts.

I know that GLUT is an abstraction on the things which are around the
actual OpenGL context like events and window management. GLX is the
interface between OpenGL and X11 and as such a more specialized
alternative to GLUT. GLUT has no events but callbacks. This is not
compatible with the general design of the FS client. It looks like I
will for now use OpenGL+GLX+X11. Bad?

The FS client makes extensive use of off-screen-drawing-areas
(OSDAs). There are drawing primitives which draw into these
OSDAs. There is no such concept as (non-screen buffers) in OpenGL. I
plan to use call-lists here. Each drawing opertion will create a
call-lists which will queue the drawing primitive. Than these
call-lists are recursively executed when actual drawing is requested.

Bitmaps (sprites, rendered text) have to be transferred to the
server. There are several alternatives: glBitmap, glDrawPixels and
textures. I only have the feeling that OpenGL may scale textures and
so blur it. Any advise on this issue?

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
  "The primary purpose of the DATA statement is to give names to
   constants; instead of referring to pi as 3.141592653589793 at every
   appearance, the variable PI can be given that value with a DATA
   statement and used instead of the longer form of the constant. This
   also simplifies modifying the program, should the value of pi
   change."
    -- FORTRAN manual for Xerox Computers




[Prev in Thread] Current Thread [Next in Thread]