[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
- [Freeciv-Dev] (PR#7124) [FS] Drawing abstraction layer for OpenGL,
Raimar Falke <=
|
|