Menu

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.

Show posts Menu

Messages - Viper

#1
Dear Gernot Frisch.
I hope that  someday  GPH releases stable OPENGL ES lite driver and GLBASIC can use it.
It is said that GPH's will release game sdk almost end of year!










#2
HERE goes src of maze in unicode(may be little-endian.) which was saved in notepad and libopengl_lite.so (20090211)
I don't know libopengl_lite.so is helpful or not.

I believe that  GLBASIC generated binary use 3d accelerator of WIZ. Is that true?
Is no-perspective correction WIZ's driver problem? or other problem?









[attachment deleted by admin]
#3
http://www.youtube.com/watch?v=aqrV7u06-xw

This is a maze demo project included in GLBASIC to show HANGUL msg
But as you can see, textures looks as if it doen't do perspective collection. I attach src code here.
1. How can I fix it to show textur correctly?
2. Hangul disappeared in wiz except for -==-. What's the problem with Hangul System for wiz?
now I use V7 of GLBASIC.

Code (glbasic) Select

// --------------------------------- //
// Project: MAZE
// Start: 수요일, 8월 12, 2009
// IDE Version: 7.078


SETCURRENTDIR("Media") // seperate media and binaries?

// --------------------------------- //
// Project: 3D Maze
// Start: Friday, October 03, 2003
// IDE Version: 1.30929

// This is a very simple demo of how to move in a 3D world
// It's not optimized at all and designed as a simple tutorial
// only.

// Das ist ein ganz einfaches Demo wie man sich in einer 3D
// Welt bewegt. Es ist nicht optimiert und dient nur als
// einfaches Tutorial.

Nothing changed in load level function.

GLOBAL mx, my, b1, b2
GLOBAL Level[]


LOADANIM "hangul1.bmp", 101, 8,16

// do some text. This should look "hangul" to you, when you
// set the correct font with menu: Edit/Editor Outfit
// set the correct font with menu: Edit/Editor Outfit
str$ = "안녕하세요 여러분.이 글이 보이시나요?\n" _
+ "그렇다면 반갑습니다. -=바이퍼=-\n"



DIM Level[0] // We load the level later / laden wir sp?er
sz = 50  // Size of a 'block' / Gr秤e eines 'Blockes'
ply_x = sz*2 // Start Position
ply_y = sz*2
ply_dir = 0  // Current rotation direction / aktuelle drehrichtung

LoadLevel (1, sz, Level[])

// Load texture - sprites
// Textur-sprites laden
LOADSPRITE "b1.bmp", 0
LOADSPRITE "w1.bmp", 1


WHILE TRUE
dtime = GETTIMER()
// Show FPS / FPS anzeigen
fps = ((1000/dtime)+fps)/2
delay=delay+dtime
IF delay>1000 // 1/2 sec
delay=0
ShowFPS=fps
ENDIF

// limit on slow machines / begrenzen f. langsame Rechner
dtime = MIN(dtime, 16)

// For nicer textures / f? sch?ere Texturen
//X_MIPMAPPING TRUE

// 3D Viewport
X_MAKE3D 1, 800, 45
// Set Camera / Kamera setzen
X_CAMERA ply_x, sz*.75+KEY(29)*120, ply_y-5,  ply_x+COS(ply_dir)*sz, sz*.7, ply_y+SIN(ply_dir)*sz
// Only draw front faces / Nur vorferseiten zeichnen

X_FOG RGB(15,15,15), TRUE, 0.003, 0

X_CULLMODE 1
// Draw walls / W?de zeichnen
X_SETTEXTURE 0, -1
X_DRAWOBJ 0,0
// Floor+Ceiling / Boden und Decke
X_SETTEXTURE 1, -1
X_DRAWOBJ 1,0

// Floor and walls are different objects, since GLBasic handles
// one texture per object. You could have drawn all needed
// Textures in one sprite and use texture coordinates
// to display only parts of the sprite - would be faster

// Boden und W?de sind 2 Objekte, da GLBasic jedem Objekt eine
// eingene Textur zuweist. Man kann alle ben?igten Texturen in
// ein Sprite zeichnen und dann mit Texturkoordinaten nur
// einen Bereich davon verwenden - das w?e schneller

mx=MOUSEAXIS(0)*dtime/100
my=0
IF KEY(200) THEN my=1
IF KEY(208) THEN my=-1
IF KEY(203) THEN mx=-1
IF KEY(205) THEN mx=1
//my=MOUSEAXIS(1)*dtime/1000


// Remember current position / Aktuelle Position merken
ply_x_old = ply_x
ply_y_old = ply_y
// Try moving in 'x' / Versuchen in 'x' Richtung zu bewegen
ply_x=ply_x+my*COS(ply_dir)*sz*dtime/1000
// IF X_COLLISIONAABB(0,0,ply_x, sz/2, ply_y, sz/4, sz/2, sz/4) THEN ply_x=ply_x_old
IF X_COLLISION(0, 0, sz/4, ply_x, sz/2, ply_y) THEN ply_x = ply_x_old

ply_y=ply_y+my*SIN(ply_dir)*sz*dtime/1000
// Try moving in 'y' / Versuchen in 'y' Richtung zu bewegen
// IF X_COLLISIONAABB(0,0,ply_x, sz/2, ply_y, sz/4, sz/2, sz/4) THEN ply_y=ply_y_old
IF X_COLLISION(0, 0, sz/4, ply_x, sz/2, ply_y) THEN ply_y = ply_y_old
// Turn player / Spieler drehen
ply_dir=ply_dir+mx

X_MAKE2D
// Just to be safe, that some buggy driver
// might add a few pixels, turn to
// nearest pixel interpolation mode.
SMOOTHSHADING FALSE

// Print the text str$, using "animation" font 101 (see above)
// and x,y position 100,100
HANGUL(101, 10,0, str$)

// Visualize level data in 2D / Level Daten in 2D zeichnen
//ALPHAMODE 1
//FOR x=0 TO BOUNDS(Level[], 0)-1; FOR y=0 TO BOUNDS(Level[], 1)-1
// IF Level[x][y] THEN DRAWRECT x*16, y*16+20, 16, 16, RGB(128,128,128)
//NEXT;NEXT
//DRAWRECT ply_x*16/sz-4, ply_y*16/sz+20-4, 7, 7, RGB(255,255,255)
//ALPHAMODE 0

PRINT "FPS:"+INTEGER(ShowFPS)+" px:" + INTEGER(ply_x) + " py:" + INTEGER(ply_y) + " d:" + INTEGER(ply_dir), 0 ,230
SHOWSCREEN
WEND
#4
B3D is not so closed format. B3D's spec is officially opened at  http://www.blitzbasic.com/sdkspecs/sdkspecs/b3dfile_specs.txt
and extended format is allowed. As a result extended format exist here http://www.onigirl.com/pipeline/
B3D is supported by irricht engine, gile, pace maker, ultimated unwrap3d, fragmotion,  lightray3d, milkshape3d, etc.
It was designed originally for blitz3d compiler(DX7). I think it make sense for handheld devices.
#5
I solved this problem by flipping the texture file upside down finally!
So I found that covert3d works 99% very well!

Thank you, Gernot Frisch for the hint!

Then I will post this animation to some gp2x forum!
#6
No, I didn't see that but I think ddd doesn't support skinning mesh system.
I can't understand why we should know about ddd's structure.

I tested convert3d with my skinning model and non-skinning hierarchicaly animated 3ds model( only with transform by mesh group).
With Fragmotion, my model can be exported to both md2 and xof file.
md2 have geo-sprite data. xof contains Skinning Mesh data in this case.
3ds is from TheGameCreators. It has animation with mesh groups transform information.

With convert3d;
Test 1: md2 -> ddd :ok.  ddd has animation.
Test 2: xof -> ddd:failed. convert3d refused to convert xof to ddd.
Test 3: 3ds ->ddd ok:  ddd has animation.

But popular animation system on today is skinning mesh!
So I want Skinning mesh support.


#7
I use tools like fragmotion, Milkshape3d, TrueSpace .... to make and edit 3d model & animations.
And I think b3d format is very inclusive format and  well supported by cheap and good utilities.
So it's a good format for 3d games.(Though it's price goes up as it gets popularity...)
I converted my b3d to md2 and then to ddd. My 1.4MB b3d file become 13MB! so huge!~
So I suggest that GLbasic supports a skinning Mesh format and hope you make a exporter for fragmotion or for
other cheap and good tool!
I think Unwrap3d may be a good tool too.
#8
Click the link and press return again at the URL to see the bug!
image link
http://www.gpgstudy.com/forum/album_pic.php?pic_id=504

It seems that convert3d has bug in converting md2 to ddd with UV.
#9
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Dream_Design\GLBasic\Font]
"Face"="Courier"
"Height"=dword:0000000c
"Width"=dword:0000000c

This will allow your font in editor!