Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Thu Mar 28, 2024 11:25 pm

All times are UTC




Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Sun Sep 28, 2008 2:50 pm 
Offline
User avatar

Joined: Thu Sep 29, 2005 2:59 pm
Posts: 828
I've been talking with a few coders using raydium and I had real problems to defend the position of no-fixing bugs cause that will generate a broken backwards-compatibility (more hard thinking that raydium is not even at version 1.0).
But talking is a good thing and we have meet a middle point about this matter: this suggestion.

The problem is: there are a few known bugs non-fixed. If we fix them, old applications will fail (or will have issues).

Proposed solution: The only way, that we have found, to solve this is:
  • Stop adding new features in Raydium. In fact freeze trunk branch.
  • Publish an advise about this in web page for all Raydium users(coders).
  • Generate a list of known bugs
  • Generate a list of all known applications using raydium
  • Fix all know bugs
  • Generate and publish a list of all fixes done (done, but not released)
  • Fix all applications known
  • Apply all new bugfixes to trunk branch and unfreeze it.
  • Publish a new advise about this in Raydium.
  • Continue with common life-cycle of Rayium


Top
 Profile  
 
PostPosted: Sun Sep 28, 2008 9:00 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
For me, the rules are simple: Let's apply bug fixes. A lot. Until it breaks compatibility :)

Another small point, too : version numbers are not meaning anything to me. I've seen application v0.01 way more stable and usable than v2.0. Raydium is "only" at v0.8, it's right, but is here since many years. And it's that last point that is important to me (regarding the amount of users).

IMHO, It's not a matter of advertising things or not ... I remember a few years ago, when I was coding web applications with early PHP 4 versions. It was an endless nightmare, since some function names were changing at every single release, some behaviors were canceled just after being added, ... Changelogs were full of things like this. Until users starts to shout. It's now, years later, way better, a correctly written PHP4(.3) script still runs with PHP6 beta :)

I really think that most of these compatibility-breaking-bug can be "workarounded" in some way (see the upside-down cursors fix, for instance). I'm with you this point: let's start to list all of them, and we'll see.

PS: And I'm pretty sure that most of these bugs are not real bugs, but only some strange ... features :)


Top
 Profile  
 
PostPosted: Sun Sep 28, 2008 9:57 pm 
Offline
User avatar

Joined: Thu Aug 24, 2006 4:06 pm
Posts: 73
Location: SLOVAKIA
OK. Let's go create list of all known bugs and "strange features" ;)

A few bugs:

- raydium_sky_enable / raydium_sky_disable work opposite (fixed by Vicente today)
- particle texture is wrong mapped ( V flipped)
- raydium_osd_draw_name same problem as above

for last two i see solution in internal function for drawing 2D and 3D GL_QUAD with correct UV mapping in this rules:
a) geometry draw start point upper-left
b) UV start point [0,0] bottom-left


Last edited by AndyGFX on Mon Sep 29, 2008 10:58 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Mon Sep 29, 2008 9:33 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
I think we can probably fix flipped particles and OSD draws just by having a look at "raydium_texture_flipped_vertical" attribute at renderign time. It should keep backward compatibility with flipped textures, and allow us to use non-flipped texture easily. We should do the test, anyway.

Your first "bug" is not clear to me ... missing words ? :)


Top
 Profile  
 
PostPosted: Mon Sep 29, 2008 4:25 pm 
Offline
User avatar

Joined: Thu Sep 29, 2005 2:59 pm
Posts: 828
The first bug he talks is fixed in rev 772 (one less to go)


Top
 Profile  
 
PostPosted: Tue Sep 30, 2008 8:03 pm 
Offline
User avatar

Joined: Thu Aug 24, 2006 4:06 pm
Posts: 73
Location: SLOVAKIA
A few new bugs:
- rendering sprite - set depthmask in used for every frame - impact to framerate
- sprites are rendered with DepthMask OFF (Why?)
- viewport aspect ratio is incorrect, when is used screen size 16:9 or 16:10
- particles are drawed over OSD text
- raydium_rendering_displaylists_disable after this command is shadow rendering enabled !!!

_________________
[HW] C2D Q6600, 4GB RAM, NV8800GTX, Vista Ultimate x64
[SW] Blide Plus, BlitzMax, Delphi, C++
[3D] Leadwerks 2.1, C4, TGE 1.5.2, Beyond Virtual


Top
 Profile  
 
PostPosted: Tue Sep 30, 2008 8:20 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
I let vicente comments the sprite related points.

About particles over OSD, the only way I see to fix this is to provide a "pre-render-particles" function, to draw particles before any custom call to raydium_osd_* functions. It's easy to implement, but it's not automated. What do you thing about this, guys ?

Aspect ratio is a critical point, I'm OK with you here.


Top
 Profile  
 
PostPosted: Tue Sep 30, 2008 8:30 pm 
Offline
User avatar

Joined: Thu Aug 24, 2006 4:06 pm
Posts: 73
Location: SLOVAKIA
... and about enable/disable rendering shadow with function raydium_rendering_displaylists_disable?

Note: this line was added later, sorry.

_________________
[HW] C2D Q6600, 4GB RAM, NV8800GTX, Vista Ultimate x64
[SW] Blide Plus, BlitzMax, Delphi, C++
[3D] Leadwerks 2.1, C4, TGE 1.5.2, Beyond Virtual


Top
 Profile  
 
PostPosted: Tue Sep 30, 2008 9:01 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Sorry, I don't understand that last one. Can you explain a bit ?


Top
 Profile  
 
PostPosted: Tue Sep 30, 2008 9:04 pm 
Offline
User avatar

Joined: Thu Aug 24, 2006 4:06 pm
Posts: 73
Location: SLOVAKIA
ok. I have enabled rendering shadows, but isn't rendered. When i use command raydium_rendering_displaylists_disable, shadows are rendered.

_________________
[HW] C2D Q6600, 4GB RAM, NV8800GTX, Vista Ultimate x64
[SW] Blide Plus, BlitzMax, Delphi, C++
[3D] Leadwerks 2.1, C4, TGE 1.5.2, Beyond Virtual


Top
 Profile  
 
PostPosted: Tue Sep 30, 2008 9:23 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
?! There's a very big trouble here ! :) Almost every Raydium demos and application use shadows AND displays lists (as it's the default). And you're the first to report a trouble with this. Can you tell us more about the environment so we can understand ? (same trouble in all applications ? since a particular engine revision ? how do you enable shadows and where ? ...)


Top
 Profile  
 
PostPosted: Tue Sep 30, 2008 9:43 pm 
Offline
User avatar

Joined: Thu Aug 24, 2006 4:06 pm
Posts: 73
Location: SLOVAKIA
So. When is assigned shader to model, and second texture missing in TRI file, shadow isnt render, but with disabled displaylist yes.

_________________
[HW] C2D Q6600, 4GB RAM, NV8800GTX, Vista Ultimate x64
[SW] Blide Plus, BlitzMax, Delphi, C++
[3D] Leadwerks 2.1, C4, TGE 1.5.2, Beyond Virtual


Top
 Profile  
 
PostPosted: Tue Sep 30, 2008 9:50 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Hmmm ... we were supposed to guess it was shader related ? ;)

Can you post a procedure (shortest as possible), possibly starting from an existing application (such as shader_test.c for instance) so we can reproduce the bug here ? All this perhaps in another thread of the forum, so we keep this one clean as possible.


Top
 Profile  
 
PostPosted: Tue Sep 30, 2008 10:11 pm 
Offline
User avatar

Joined: Thu Aug 24, 2006 4:06 pm
Posts: 73
Location: SLOVAKIA
I foud where is problem, when is shadow enabled BEFORE assign shader to non existing texture, then isn't shadow rendered.

_________________
[HW] C2D Q6600, 4GB RAM, NV8800GTX, Vista Ultimate x64
[SW] Blide Plus, BlitzMax, Delphi, C++
[3D] Leadwerks 2.1, C4, TGE 1.5.2, Beyond Virtual


Top
 Profile  
 
PostPosted: Tue Sep 30, 2008 11:10 pm 
Offline
User avatar

Joined: Thu Aug 24, 2006 4:06 pm
Posts: 73
Location: SLOVAKIA
New BUG:

Code:
   
...
if (GAME.EngineMode==MODE_EDITOR)
    {
        if ((CameraMode==CAMERA_MODE_EDIT) && raydium_mouse_button_pressed(1))
        {
            raydium_mouse_move(raydium_window_tx/2, raydium_window_ty/2);
            raydium_camera_freemove(RAYDIUM_CAMERA_FREEMOVE_NORMAL);
        }
        else
        {
           raydium_camera_freemove(RAYDIUM_CAMERA_FREEMOVE_FIXED);

        }
    }
...

mouse cursor is moved to center of viewport, but raydium_camera_freemove read mouse x,y on press button and not again after raydium_mouse_move, then scene is changed (rotated), becuase distance to the center is >0 for x and y. Looks like using different variables for freecamera or missing update variables for calcucation camera look direction.

_________________
[HW] C2D Q6600, 4GB RAM, NV8800GTX, Vista Ultimate x64
[SW] Blide Plus, BlitzMax, Delphi, C++
[3D] Leadwerks 2.1, C4, TGE 1.5.2, Beyond Virtual


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2, 3  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 41 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group