File: intro.html

package info (click to toggle)
libsdl-sge 020904-5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 928 kB
  • ctags: 775
  • sloc: cpp: 8,049; makefile: 163; ansic: 44
file content (176 lines) | stat: -rw-r--r-- 7,705 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<html>
<!--------------------------------------------------->
<!--              Docs/intro - SGE                 -->
<!--------------------------------------------------->
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>SGE Documentation - Intro</title>
</head>

<body bgcolor=#DED7A0>

<H1>SDL Graphics Extension (SGE)</H1>

<P>
<DL>
<DT><A HREF="#1">1. Intro</A>
<DT><A HREF="#2">2. Requirements</A>
<DT><A HREF="#3">3. Compiling</A>
<DT><A HREF="#4">4. Makefile options</A>
  <DD><A HREF="#4.1">4.1 Using pure C with SGE</A>
  <DD><A HREF="#4.2">4.2 FreeType</A>
  <DD><A HREF="#4.3">4.3 The SDL_Img library</A>
  <DD><A HREF="#4.4">4.4 C++ classes</A>
  <DD><A HREF="#4.5">4.5 The QUIET option</A>
<DT><A HREF="#5">5. Cross compiling SGE to W32</A>
<DT><A HREF="#6">6. Compiling SGE under W32 with MS VisC/C++</A>
<DT><A HREF="#7">7. Misc.</A>
</DL>


<a name="1"><H2>1. Intro</H2></a>
SGE is an add-on graphics library for the Simple Direct Media Layer. SGE provides 
pixel operations, graphics primitives, TrueType rendering, rotation/scaling and much 
more.<BR><BR>
This is free software (LGPL), read LICENSE for details.
<BR><BR>
SGE has the following parts:<BR>
<BR>
<B>[sge_surface] - </B> Pixel operations, blitting and some pallete stuff.<BR>  
<B>[sge_primitives] - </B> Drawing primitives such as lines and circles.<BR> 
<B>[sge_tt_text] - </B> TrueType font support.<BR>
<B>[sge_bm_text] - </B> Bitmapfont and SFont support.<BR> 
<B>[sge_textpp] - </B> Classes for handling and rendering text.<BR>
<B>[sge_shape] - </B> Classes for blitting and sprites.<BR>
<B>[sge_collision] - </B> Basic collision detection.<BR>
<B>[sge_rotation] - </B> Rotation and scaling of surfaces.<BR> 
<B>[sge_blib] - </B> Filled, gourand shaded and texture mapped triangles.<BR>
<B>[sge_misc] - </B> Random number and delay functions.<BR>
<BR>
<BR>
Read docs/index.html for API documentation.<BR>
<BR>
<B>Always check WhatsNew for important (API) changes!</B><BR>
<BR>
There is a <A HREF="guide.html">"Beginners guide to SGE"</A> in this documentation about how 
to compile and use SGE in your own project, please read it if you're new to Unix/Linux development.<BR>
<BR>
Read INSTALL for quick compile and install instructions.<BR>
<BR>
<a name="2"><H2>2. Requirements</H2></a>
<UL>
<LI>GNU Make.
<LI>SDL 1.2+.
<LI>An ANSI/ISO C++ compiler. SGE should conform to ANSI/ISO C++.
<LI>Optional:
<UL>
  <LI>FreeType 2.x
  <LI><A HREF="http://www.libsdl.org/projects/SDL_image/index.html" TARGET=_top>SDL_Image</A> <A HREF="#4.3">(see 4.3)</A>
</UL>
<LI>Some SDL knowledge.
</UL>

First you need <A HREF="http://www.libsdl.org/" TARGET=_top>SDL</A> and the 
<A HREF="http://www.freetype.org/" TARGET=_top>FreeType (2.x)</A> library (you only need the FreeType 
library if you want to use SGE's truetype font routines, see <A HREF="#4.2">below</A>). The FreeType library is 
included in most Linux distributions (RPM users: install the freetype dev rpm package from the install cd).<BR> 
<BR>
After installing SDL and FreeType, don't forget to check that the dynamic
linker can find them (check /etc/ld.so.conf and run ldconfig).
<BR>
You must also have a good C++ compiler (should be able to handle templates). Recent 
versions of GNU c++ works fine. SGE will use gcc/g++ as default, this can be changed
in Makefile.conf.<BR>
<BR>
<BR>
<a name="3"><H2>3. Compiling</H2></a>
Before compiling you might want to change some Makefile.conf options, see below.<BR>
<BR>
Just do 'make install' to compile and install SGE. This will install SGE to the same 
place as SDL. You can change the install location by editing the PREFIX line in 
the file "Makefile.conf".<BR> 
<BR>
If you just want to test the examples (and not install anything) you can just do
'make'. This will build a static version of SGE (libSGE.a).<BR>
<BR>
If you want a dynamic version of SGE (libSGE.so) but don't want the makefile to
install SGE, do 'make shared'.<BR>
<BR>
To build the examples, goto the directory examples/ and do 'make'.<BR>
<BR>
See the file INSTALL for more information. You can also read the <A HREF="guide.html">"Beginners guide to SGE"</A>.<BR>
<BR>
<BR>
<a name="4"><H2>4. Makefile options</H2></a>
Edit Makefile.conf to turn on/off these options.<BR>

<a name="4.1"><H3>4.1 Using pure C with SGE</H3></a> 
If you plan to use SGE with a pure C project you can try to edit Makefile.conf and
uncomment the line 'C_ONLY = y'. This will force the compiler to export all 
references to the linker as C functions. If you do, you
will be able to link SGE to C code, BUT you will not be able to use any of the 
overloaded functions (only the Uint32 color version of the overloaded functions 
will be available) or C++ classes.<BR>

<a name="4.2"><H3>4.2 FreeType</H3></a>
If you don't need the TT font routines or just don't want do depend on FreeType,
uncomment 'NOTTF = y' in Makefile.conf.<BR>

<a name="4.3"><H3>4.3 The SDL_Image library</H3></a>
If you have installed the <A HREF="http://www.libsdl.org/projects/SDL_image/index.html" TARGET=_top>SDL_Image</A> library  
you can uncomment the 'USE_IMG = y' build option in Makefile.conf. This enables
SGE to load png images and to use Karl Bartel's very nice 
<A HREF="http://www.linux-games.com/sfont/" TARGET=_top>SFont</A>
bitmapfonts. If you 
build a static version (libSGE.a) of SGE you MUST link your code with SDL_Img
(-lSDL_image), if you're using the shared version (libSGE.so) this is done by the 
dynamic linker at runtime.<BR>

<a name="4.4"><H3>4.4 C++ classes</H3></a>
SGE have some C++ classes ([sge_shape & sge_textpp]), but if you dislike/hate/don't 
understand/have problems with classes or the STL you can disable them by setting 
NO_CLASSES = y in Makefile.conf.<BR>

<a name="4.5"><H3>4.5 The QUIET option</H3></a>
Set QUIET = y if you don't want the makefile to output any SGE specific messages.<BR>
<BR>
<BR>
<a name="5"><H2>5. Cross compiling SGE to W32</H2></a>
SGE can be compiled by a win32 crosscompiler. You need a crosscompiled version of 
SDL and FreeType. Check SDL's documentation (README.Win32) on how to get and setup 
a cross-compiler.<BR>
<BR>
A crosscompiler and a precompiled version of the FreeType library can be found on 
<A HREF="http://www.libsdl.org/Xmingw32/index.html" TARGET=_top>SDL's Mingw32 side</A>. This crosscompiler
seems to need the flag '-lstdc++' when linking C++ code: edit Makefile.conf and 
change the SGE_LIBS line to read 'SGE_LIBS =$(shell sdl-config --libs) -lstdc++'. This 
crosscompiler also uses the new MS C-Run-time library "msvcrt.dll", you can get
it from <A HREF="http://www.microsoft.com/downloads" TARGET=_top>Microsoft</A> (do a keyword search for "libraries update") 
if you don't already have it.<BR>
<BR>
If you want to build a dll ('cross-make dll' or 'dll-strip') then you might want to
do 'ln -s ../../bin/i386-mingw32msvc-dllwrap dllwrap' in 
/usr/local/cross-tools/i386-mingw32msvc/bin.
<BR>
<BR>
<a name="6"><H2>6. Compiling SGE under W32 with MS VisC/C++</H2></a>
Should work. Check the <A HREF="http://www.etek.chalmers.se/~e8cal1/sge/download.html" TARGET=_top>download page</A> on SGEs homepage for project files (these are untested by me and are often outdated but may be of some help).<BR>
<BR>
<BR>
<a name="7"><H2>7. Misc.</H2></a>
Read the html documentation and study the examples.<BR> 
<BR><BR><BR>


<B><I>Anders Lindstrm</I></B> 
</P>

	
<BR><BR><BR><HR>
<P><I><SMALL>
Copyright &copy; 1999-2002 Anders Lindstrm<BR>
Last updated 020104
</SMALL></I></P>

</body>
</html>