### Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

### Messages - Kitty Hello

Pages: 1 ... 694 695 [696]
10426
##### Code Snippets / Factal Trees
« on: 2004-Mar-29 »
Well, how about drawing some nice 3D Trees with leaves and so on? Here's the basic framework needed:

Code: GLBasic [Select]
// --------------------------------- //
// Project:
// Start: Monday, March 29, 2004
// IDE Version: 1.40327

// rule = â€œl [ + l ] l [ - l] lâ€ [Jürgens Hartmut, Peitgen Heinz-Otto, Saupe Dietmar:
//                                Fraktale - eine neue Sprache für komplexe Strukturen,
//                                Spektrum der Wissenschaft (9/1989), p.62.] with
// l = line
// + = +28.58 degrees
// - = -28.58 degrees
// [ = start of a branch
// ] = end of a branch

NewBranch(200,200,0, 0, -90, 0, 10)
SHOWSCREEN
MOUSEWAIT

// ------------------------------------------------------------- //
// -=#  NEWBRANCH  #=-
// ------------------------------------------------------------- //
FUNCTION NewBranch: x, y, z, phi, psi, depth, maxdepth

LOCAL ex, ey, ez, px, py, pz, lngth, ln_bottom, dphi, dpsi
LOCAL n, nbranches, col
lngth = 100/(1+depth)
ln_bottom = lngth*COS(psi)
nbranches = 2

ex = x + COS(phi)*ln_bottom
ey = y + SIN(psi)*lngth
ez = z + SIN(phi)*ln_bottom

IF (depth<maxdepth)
FOR n=1 TO nbranches
pos = n/(nbranches+1)
px = x+(ex-x)*pos
py = y+(ey-y)*pos
pz = z+(ez-z)*pos

dphi = phi + (RND(2)-1)*28.58
dpsi = psi + (RND(2)-1)*28.58
NewBranch(px, py, pz, dphi, dpsi, depth+1, maxdepth)
NEXT
ENDIF

col = RGB(200 - 200*(depth/maxdepth), 64+128*(depth/maxdepth), 0)
// Front
DRAWLINE x, y, ex, ey, col
// Left
DRAWLINE z+120, y, ez+120, ey, col
// Top
DRAWLINE x, z+320, ex, ez+320, col
ENDFUNCTION

And an image:

10427
##### GLBasic - de / Probleme mit der Demo
« on: 2004-Mar-27 »
Hallo,

Die Grafikkartentreiber müssen OpenGL unterstützen. Man lädt einfach beim Hersteller den aktuellsten Treiber herunter. Auf keinen Fall den von Microsoft mitgelieferten verwenden, da der spätestens ab WindowsXP nur Software-Rendering unterstützt (1-2 FPS maximal).
Welche Grafikkarte man hat ewrfährt man, indem man Systemsteuerung/Anzeige öffnet und dann den Tab:Einstellungen, Knopf: Erweitert, wieder Tab:Grafikkarte öffnet. Grundsätzlich bekommt man diese Treiber auch für Windows NT4.0, was bei DirectX ein Problem darstellt.

Einen Vergleich mit anderen Basics möchte ich nicht geben, das muss jeder selbst ausprobieren. Die Geschwindigkeit von GLBasic ist jedoch eine seiner Stärken.

Fenster und Buttons in Windows wird es nicht geben. Es bleibt ein Game-BASIC. Wir arbeiten jedoch an solchen Funktionen innerhalb von GLBasic mit den DRAWLINE und FILLRECT Befehlen.

DLL's wären einfach zu implementieren, jedoch kann man dann das Spiel nicht so einfach nach Linux konvertieren. Und darum kommt es wohl nicht. Alle Befehle funktionieren unter allen Plattformen. Derzeit Win32 und Linux.

10428
##### Competitions / Spielideen aus dem Alltag. 10-21 Jahre
« on: 2004-Mar-24 »
Ein, wie ich finde, sehr interessanter Wettbewerb, bei dem man auch mit der kostenlosen Demo-Version von GLBasic  zu den Gewinnern gehören kann.

Hier geht's zu den Details

Viel Erfolg

10429
##### GLBasic - de / MipMapping
« on: 2004-Mar-23 »
Holt euch die Internet-Updates regelmäßig. Diesmal (V1.40323) gibt's MipMapping:
Code: GLBasic [Select]
X_MIPMAPPING 1 // an
X_DRAWOBJ 1,0

Viel Spaß,
Gernot

10430
##### Announcements / MipMapping
« on: 2004-Mar-23 »
Get the internet updates frequently. Featuring mipmapping this time (V1.40323)
Code: GLBasic [Select]
X_MIPMAPPING 1 // on
X_DRAWOBJ 1,0

Have fun,
Gernot

10431
##### GLBasic - en / Linux IDE
« on: 2004-Mar-17 »
Well, you can run the IDE with WINE, but that's not intended. Also, there's a Compiler/Make Linux-Script button and a Install_linux script. Basically you should write your game on Win32, then send the source code in and get a (tested) linux binary back.
I will put up a compilation service soon, that will allow you to do this in the IDE on Win32 and receive the bin wihtin an hour or so...

Sorry for inconveniences. Porint the IDE to Linux seems too much work for me.

10432
##### GLBasic - de / Forum und Frage
« on: 2004-Mar-17 »
OK, ganz langsam.
Die Schuhschachteln, das sind komprimierte, verschlüsselte Ordner. Wie ein zip-Atchiv etwa. Die kann GLBasic dann mit dem Befeehl SETSHOEBOX verwenden, um Grafiken, Musiken usw. zu laden. Die .sbx (also Schuhschachtel) - Dateien werden jedoch von hinten her gelesen. D.h. hinten ist das Inhaltsverzeichnis, kurz davor die Daten. Die .exe Dateien sind anders herum. Also, erst .exe Infos, dann die Daten. Jetzt kann man mit dem DOS-Befehl copy die Beiden zusammen in eine Datei packen, die dann etwa so aussieht:

.exe - Info
.exe - Programm
.sbx - Daten
.sbx - Info

Und kann diese .exe Datei mit SETSHOEBOX (vorher natürlich) anstatt einer .sbx angeben. Voilar, man hat nur eine .exe Datei in der alle Resourcen (Grafik, Sound, Musik...) sind.

10433
##### GLBasic - de / Einfache 3D Objekte
« on: 2004-Mar-05 »
Noch ein paar Helix-Varianten:

Code: GLBasic [Select]
// ------------------------------------------------------------- //
// -=#  CREATEHELIX  #=-
// Creates a helix aka. spiral object
// R1    : Raduis of Helix
// R2    : Radius of Helix Intersection
// Nu    : Number of elemtents along helix
// Nv    : Number of elements around intersection
// cycles: Number or spiral repetitions
// height: Complete length of the helix
// col   : Color of Helix-Material
// ------------------------------------------------------------- //
FUNCTION CreateHelix: num, R1, R2, Nu, Nv, cycles, height, col
LOCAL du, dv, u, v, x, y, z, tx, ty, q, nu, nv
du = cycles * 360 / Nu
dv = 360 / Nv

X_OBJSTART num
FOR i=0 TO Nu-1
u = i * du
FOR j=0 TO Nv-1
v = j * dv
FOR q = 0 TO 3
nu=0; nv=0 // Use next u/next v

IF q=0 OR q=3 THEN nu=1
IF q>1 THEN nv=1
nu = MOD(q, 2)
nv=INTEGER(q / 2)
qu = u+nu*du
qv = v+nv*dv

x = R1 * COS(qu) * (1 + COS(qv) * R2/R1)
z = R1 * SIN(qu) * (1 + COS(qv) * R2/R1)
y = SIN(qv)*R2 + qu*height/(360 * cycles)
tx = (i+nu)/Nu * cycles
ty = (j+nv)/Nv
X_OBJADDVERTEX x, y, z, tx, ty, col
NEXT
NEXT
X_OBJNEWGROUP
NEXT
X_OBJEND
ENDFUNCTION

Helicoid
Code: GLBasic [Select]
// ------------------------------------------------------------- //
// -=#  CREATEHELICOID  #=-
// Creates a helicoid - minimal surface of a helix
// R1    : Raduis of Helix
// Nu    : Number of elemtents along helix
// Nv    : Number of elements around intersection
// cycles: Number or spiral repetitions
// height: Complete length of the helix
// col   : Color of Helix-Material
// ------------------------------------------------------------- //
FUNCTION CreateHelicoid: num, R1, Nu, Nv, cycles, height, col
LOCAL du, dv, u, v, x, y, z, tx, ty, q, nu, nv
du = cycles*360 / Nu
dv = R1 / Nv

X_OBJSTART num
FOR i=0 TO Nu-1
u = i * du
FOR j=0 TO Nv-1
v = j * dv
FOR q = 0 TO 3
nu=0; nv=0 // Use next u/next v

IF q=0 OR q=3 THEN nu=1
IF q>1 THEN nv=1
nu = MOD(q, 2)
nv=INTEGER(q / 2)
qu = u+nu*du
qv = v+nv*dv

x = qv * COS(qu)
z = qv * SIN(qu)
y = qu/(cycles*360) * height
tx = (i+nu)/Nu * cycles
ty = (j+nv)/Nv
X_OBJADDVERTEX x, y, z, tx, ty, col
NEXT
NEXT
X_OBJNEWGROUP
NEXT
X_OBJEND
ENDFUNCTION

10434
##### GLBasic - de / Einfache 3D Objekte
« on: 2004-Mar-05 »
Hier ist der Quellcode für einfache 3D Objekte:

Eine Kugel
Code: GLBasic [Select]
// ------------------------------------------------------------- //
// -=#  SPHERE  #=-
// ------------------------------------------------------------- //
FUNCTION CreateSphere: num, r, n, col
LOCAL i,j, theta1, theta2, theta3, pi
pi = ACOS(0)*2
IF r < 0 THEN r = -r
IF n < 3 THEN n = 3

X_OBJSTART num
FOR j=0 TO n/2-1

theta1 = j * 2*pi / n - pi/2;
theta2 = (j + 1) * 2*pi / n - pi/2;
FOR i=0 TO n
theta3 = i * 2*pi / n;
X_OBJADDVERTEX r*COS(theta2) * COS(theta3), r*SIN(theta2), r*COS(theta2) * SIN(theta3), i/n, 2*(j+1)/n, col
X_OBJADDVERTEX r*COS(theta1) * COS(theta3), r*SIN(theta1), r*COS(theta1) * SIN(theta3), i/n, 2*j/n, col
NEXT
X_OBJNEWGROUP
NEXT
X_OBJEND
ENDFUNCTION // n

EinWürfel - jede Seite hat die gleiche Textur
Code: GLBasic [Select]
// ------------------------------------------------------------- //
// -=#  CREATECUBE  #=-
// ------------------------------------------------------------- //
FUNCTION CreateCube: num, sz, col
// Diese Variablen sind als LOCAL definiert:
// num, sz,
sz=sz/2
X_OBJSTART num
// Front Face
X_OBJADDVERTEX  sz, -sz,  sz, 1, 0, col
X_OBJADDVERTEX -sz, -sz,  sz, 0, 0, col
X_OBJADDVERTEX  sz,  sz,  sz, 1, 1, col
X_OBJADDVERTEX -sz,  sz,  sz, 0, 1, col
X_OBJNEWGROUP
// Back Face
X_OBJADDVERTEX -sz,  sz, -sz, 1, 1, col
X_OBJADDVERTEX -sz, -sz, -sz, 1, 0, col
X_OBJADDVERTEX  sz,  sz, -sz, 0, 1, col
X_OBJADDVERTEX  sz, -sz, -sz, 0, 0, col
X_OBJNEWGROUP
// Top Face
X_OBJADDVERTEX -sz,  sz,  sz, 0, 0, col
X_OBJADDVERTEX -sz,  sz, -sz, 0, 1, col
X_OBJADDVERTEX  sz,  sz,  sz, 1, 0, col
X_OBJADDVERTEX  sz,  sz, -sz, 1, 1, col
X_OBJNEWGROUP
// Bottom Face
X_OBJADDVERTEX  sz, -sz, -sz, 0, 1, col
X_OBJADDVERTEX -sz, -sz, -sz, 1, 1, col
X_OBJADDVERTEX  sz, -sz,  sz, 0, 0, col
X_OBJADDVERTEX -sz, -sz,  sz, 1, 0, col
X_OBJNEWGROUP
// Right face
X_OBJADDVERTEX  sz,  sz, -sz, 1, 1, col
X_OBJADDVERTEX  sz, -sz, -sz, 1, 0, col
X_OBJADDVERTEX  sz,  sz,  sz, 0, 1, col
X_OBJADDVERTEX  sz, -sz,  sz, 0, 0, col
X_OBJNEWGROUP
// Left Face
X_OBJADDVERTEX -sz, -sz,  sz, 1, 0, col
X_OBJADDVERTEX -sz, -sz, -sz, 0, 0, col
X_OBJADDVERTEX -sz,  sz,  sz, 1, 1, col
X_OBJADDVERTEX -sz,  sz, -sz, 0, 1, col
X_OBJNEWGROUP
X_OBJEND

ENDFUNCTION // sz

A Zylinder oder Kegel(stumpf)
Code: GLBasic [Select]
// ------------------------------------------------------------- //
// -=#  CREATECYLINDER - also creates a cone if any radius = 0  #=-
// ------------------------------------------------------------- //
LOCAL da, r, dr, dz, x, y, z, i, j
LOCAL x1, y1, x2, y2
da = 360 / slices
dz = height / stacks
X_OBJSTART num
FOR i=0 TO slices-1
x1 = COS(i*da)
y1 = SIN(i*da)
x2 = COS((i+1)*da)
y2 = SIN((i+1)*da)
z = 0

// Bottom lid
X_OBJADDVERTEX 0, 0, 0,  .5, .5, col
X_OBJADDVERTEX x1*r, y1*r, 0, x1/2+.5, y1/2+.5, col
X_OBJADDVERTEX x2*r, y2*r, 0, x2/2+.5, y2/2+.5, col
X_OBJNEWGROUP
ENDIF
// side
FOR j=0 TO stacks
X_OBJADDVERTEX x2*r, y2*r, z, (i+1)/slices,  j/stacks, col
X_OBJADDVERTEX x1*r, y1*r, z,  i   /slices,  j/stacks, col
z = z+dz
r = r+dr
NEXT
// Top lid
X_OBJNEWGROUP
X_OBJADDVERTEX x2*r, y2*r, height, x2/2+.5, y2/2+.5, col
X_OBJADDVERTEX x1*r, y1*r, height, x1/2+.5, y1/2+.5, col
X_OBJADDVERTEX 0, 0, height,  .5, .5, col
ENDIF
X_OBJNEWGROUP
NEXT
X_OBJEND
ENDFUNCTION

Ein Torus (Donut)
Code: GLBasic [Select]
// ------------------------------------------------------------- //
// -=#  CREATETORUS  #=-
//
// By Samuel R. Buss
// http://math.ucsd.edu/~sbuss/MathCG
// ------------------------------------------------------------- //
// Diese Variablen sind als LOCAL definiert:
// x, y,
// Draw the torus
LOCAL i, di, j, wrapFrac, wrapFracTex, phi, thetaFrac, thetaFracTex, theta
LOCAL x, y, z, r
X_OBJSTART num
FOR di=0 TO NumWraps-1
FOR j=0 TO NumPerWrap
FOR i=di+1 TO di STEP -1
wrapFrac = MOD(j, NumPerWrap)/NumPerWrap
wrapFracTex = j/NumPerWrap
phi = 360*wrapFrac
thetaFrac = (MOD(i, NumWraps)+wrapFracTex)/NumWraps
thetaFracTex = (i+wrapFracTex)/NumWraps
theta = 360*thetaFrac
x = SIN(theta)*r
z = COS(theta)*r
X_OBJADDVERTEX x,y,z,  thetaFracTex*TextureWrapVert, wrapFracTex*TextureWrapHoriz, RGB(255, 255, 255)
NEXT
NEXT
X_OBJNEWGROUP
NEXT
X_OBJEND
ENDFUNCTION

10435
##### FAQ / Kann ich eine alleinstehende .exe erstellen?
« on: 2004-Mar-02 »
Ja. Ich habe ein kleines Beispiel erstellt, dass das verdeutlicht:
Schuschachtel-Alleinstehend
Die Schuhschachtel-Dateien (.sbx) werden rückwärts gelesen und die .exe Dateien liest das Betriebssystem von vorne. Daher kann man an die .exe eine .sbx anhängen und aus der .exe die Resourcen laden.

10436
##### FAQ / Can I create a standalone .exe with resources?
« on: 2004-Mar-02 »
Yes. I've made a little sample program that is located here:
ShoeBox-Standalone
The shoebox .sbx files get read backwards and the .exe files get read forwards by the operating system. Thus, you can concatenate both and load the resources from the attached shoebox in the .exe file.

10437
##### GLBasic - de / Linux IDE
« on: 2004-Feb-29 »
Hi,

man kann mit WINE unter Linux compilieren. Dazu die Datei readme_linux o.ä. lesen. Wird die noch mitinstalliert? Muss ich mal testen.
Grundsätzlich ist GLBasic aber ein Windows-Programm und die separaten Plattformen sind eigentlich als mail-service zu erhalten. Sprich, code schicken, Programm erhalten. Ich kann nicht 100% garantieren, dass alle Linux Programme sich wie die Windows Version verhalten und muss ab und zu etwas daran ändern.

10438
##### FAQ / Warum ist alles so langsam?
« on: 2004-Feb-25 »
...wiel der neueste Grafikartentreiber nicht installiert wurde. Microsoft liefert  seit WindowsXP keine OpenGL fähigen Treiber mehr mit dem Berteibssystem aus. Daher bitte (auch für die Kunden) immer den neusten Treiber installieren.

10439
##### FAQ / Why is everything so slow
« on: 2004-Feb-25 »
...because you did not install a proper graphics card driver that supports OpenGL by hardware. Microsoft will not ship these drivers anymore since WindowsXP. Make sure you, and your custkmners, have installed the latest drivers.

10440
##### GLBasic - en / GLBasic
« on: 2004-Feb-19 »
Thank you. For those who so not know what we're talking about: It's a 3D demo with simple object creation (sphere, cube, cylinder, cone, torus...) and lighting. I'll upload it to the GLBasic - download site ASAP.

Pages: 1 ... 694 695 [696]