Page 1 of 1
Synthesis 3DMax (Formaly Raptor 3D) Commercial pc version.
Posted: Mon Jul 24, 2006 3:48 am
by Kojima
Hi,
Here's the first alpha of raptor 3d,
http://www.savefile.com/files/7771278
It's a hybrid engine that is a port of MiniB3D by simon harris, and my own engine Trinity, both of which are open source pc gl engines.
It's wrote against the latest svn version of pspgl and as such requires you have it installed before using this.
Currently the project is a single file containing a small demo and the engine, by alpha2 maybe 3, it will be organized into seperate files for each class.
Current engine features:
SceneGraph with child/parent relationships.
Multi-texture material (Only 1 one texture supported atm, need to do multi-pass stuff)
Full suite of entity maniuplation functions, including position/rotate/lookat/scale etc.
Matrix class.
2D Engine using pens for fast orthogonal 2d rendering of rects/lines 2d textures.
2D Gui, with windows, buttons, plugin styles and more, including full mouse cursor emulation via the nub, dpad and action buttons, sliders, canvas etc
Full support for static b3d files made popular by the blitz3d Application.
Font renderer.(Uses texture based fonts)
Logger (Create text logs and log output via Logger->Log())
And some other stuff.
Next version will add boned animation via b3d and more including multi-pass texturing.
As this is open source, I'd be happy to have others contribute to the engine or even put it on the svn if enough people use it
Posted: Mon Jul 24, 2006 3:51 am
by Kojima
Example Code of how easy to use it is,
Code: Select all
InitRaptor();
Joypad *joy = new Joypad;
Display *sys = new Display(argc,argv);
Camera *vcam = Factory->ProduceCamera();
vcam->Position(0,8,-20);
Renderer->_ActiveCam = vcam;
vcam->PointAt(0,0,0);
Entity *ent = LoadB3D( (const char *)"ship1.b3d",NULL );
ent->Rotate(90,90,90);
ent->Position(50,0,0);
if(ent==NULL)
{
Logger->Log("Loadb3d returned null entity.\n");
}
else
{
Logger->Log("Loadb3d returned valid entity.\n");
}
Font *fnt = new Font("fnt1.bmp",32,32);
FontRenderer->SetActive( fnt );
FontRenderer->SetColor(1,1,1);
float cx,cy;
cx=0;
cy=0;
float ex=0;
int ec = Renderer->CountEntities();
Logger->Log("Entities:%d \n",ec);
ent = Renderer->GetEntity(0);
Logger->Log("Got Entity.\n");
ent->Position(25,25,25);
if(ent == NULL)
{
Logger->Log("Entity is null.\n");
}
else
{
Logger->Log("Entity not null.\n");
}
while(1)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//vcam->Move(0,0,0);
glLoadIdentity();
joy->Update();
float xi,yi;
xi = joy->_x;
yi = joy->_y;
if(fabs(xi)>0.4)
{
cx+=xi;
}
if(fabs(yi)>0.4)
{
cy+=yi;
}
ent->Position(0,0,0);
ent->Rotate( cy,cx,0 );
FontRenderer->RenderText(0,0,"Gui Test Alpha 1");
Renderer->RenderScene();
if( joy->_rtrigger )
{
screenshot("mplay");
}
glutSwapBuffers();
}
Posted: Mon Jul 24, 2006 6:36 am
by Gary13579
Nicely done, will look forward to this.
Posted: Mon Jul 24, 2006 1:12 pm
by Drakonite
Moved to Release Announcements.
Kojima, please start posting in the right place..
Posted: Mon Jul 24, 2006 2:55 pm
by Muhu
Sweet another 3D engine!
Posted: Mon Jul 24, 2006 6:23 pm
by Kojima
Drakonite wrote:Moved to Release Announcements.
Kojima, please start posting in the right place..
I have no problem that you moved the post, but how comes some releases are allowed in the psp section? specifically video player related releases?
Posted: Mon Jul 24, 2006 7:26 pm
by Drakonite
Kojima wrote:
I have no problem that you moved the post, but how comes some releases are allowed in the psp section? specifically video player related releases?
I don't read every post on the forums, specifically long boring video player threads.
I do my best to check new threads but keeping the forums clean isn't exactly a paid job and there is an endless stream of work that needs to be done. With the number of people who keep the forum clean versus the amount of crap that gets posted here, you should be quite happy this place isn't full of spam.
Posted: Mon Jul 24, 2006 7:28 pm
by jockyw2001
I was expecting this question already for some time :P
My suggestion to the moderators would be that ready to use releases are announced in Release Announcements and can be further discussed (and supported) in the PS2 or PSP Software Development forums.
PS: I would not be in favor of opening an additional forum dedicated to mediaplayers if anyone comes with such an idea. But who am I :)
Posted: Mon Jul 24, 2006 7:51 pm
by Kojima
Fair enough Drakonite. Just thought it was kind of a double standard in play.
Can I suggest opening up a psp specific release forum? Might get more people using it, thus saving you having to do it.
Posted: Mon Jul 24, 2006 8:34 pm
by Drakonite
The majority of these release posts are already PSP... And they should be including a mention that it's PSP.
jockyw2001: It's not a question of policy, it's a question of manpower.
Posted: Mon Jul 24, 2006 9:15 pm
by jockyw2001
Drakonite wrote:jockyw2001: It's not a question of policy, it's a question of manpower.
I realized that after reading your post
Posted: Mon Jul 24, 2006 9:31 pm
by Kojima
Alpha 2 (UPDATE)-
http://www.megadownload.net/download.ph ... e3936f9006
This version adds visualizers. Visualizers are a plugin based(I.e to create one you inherit the base visualizer class) and each surface has one.
A visualizer's job is to take and sync data, bind it's resources, then render.
Currently there is one visualizer, VL_VertexArray which as the name suggests adds vertex arrays to raptor, so you should see a big speed up from the last release.
The source is still engine/demo all in one, not seperate it yet. (I don't have a great ide so it's easier for me to keep it all in one atm)
Posted: Tue Jul 25, 2006 4:59 pm
by Kojima
hey, is anyone interested in helping turn this into a proper C++ library?
I.e converting each class into it's own file, and then creating a true header and makefile for it so it can be compiled into a lib?
I'd do it myself, but tbh I havn't been using GCC tools long enough to be confident enough in my skills to do it.
You'll be added to the credits for your work if it makes any difference.
Posted: Tue Jul 25, 2006 5:20 pm
by Oobles
Kojima, if you are interested in having the project added to our Subversion repository please let me know. I can set you up write access.
Regards,
David aka Oobles.
Posted: Tue Jul 25, 2006 8:15 pm
by Kojima
Sure that'll be great, saves me messing about with savefile.com etc. Thanks.
Will I be able to use TortoiseSVN to upload?(I've only ever downloaded from a svn)
Posted: Mon Jul 31, 2006 12:49 am
by Kojima
Hey, did you change your mind oobles?
Alpha 3 released.
Posted: Fri Aug 04, 2006 6:09 am
by Kojima
Here is Alpha or version 3.
http://www.savefile.com/files/1034537
Most notable new feature is full boned animation support. including finally, 100% support for the b3d file format which has exporters for many apps including 3dsmax/milkshape/unltimate unwrap etc.
Included is a already compiled demo with test b3d. press select to exit cleanly back to the os.
also includes many bug fixes and cleaned up code. No more memory leaks etc.
Posted: Mon Aug 14, 2006 3:31 am
by Kojima
Here is alpha 4, dedicated to QJ net for mirroring all my releases :)
http://www.savefile.com/files/9564904
Some of the new features/improvements include,
-Infinitely faster animation system. Optimized to the absolute brink, the previous demo which ran at 21fps now runs at over 60fps (How much over is hard to tell, with the psp's 60fps hw limit)
So now you can realistically use animated meshes within your app game.
-Single Surface Particle system.
What this is, is basically a particle system where each particle is part of a single surface that is generated each frame(In an optimized manner so it's fast) which means even if you have a 1000 particles, they are all rendered in one call to glDrawElements. All particles are automatically pointed towards the active camera, and can be textured.
Usage is very simple.
-3D Text
The font renderer can now produced 3d text and return them as an entity usable just like any other mesh.
i.e you can rotate/scale/position them anywere in your 3d world.
Like the font renderer, it uses the active font as the texture for the text.
-Material Blend modes.
Now each material has a blend mode that specifies how it is blended in with the screen.
Currently supported is Mask which treats transparant pixels as see through even on 3d meshes. perfect for fences/windows etc. Allowing you to use simple geo with complex shapes.
Also supported is Solid and Add.
-3D Credit system
USing the 3d text engine, this allows you to create a rolling credit(I.e the ending of a movie/game not credit as in score) demo.
The demo included within the code uses all of this to produce a star wars like intro. It looks for a music file called theme1. i use the actual star wars theme personally but for legal reasons I can't include it.
Plus other bugfixes/improvements too numerous to mention.
On the next episode of Arrested Development, Tobias invents linepicking, tform code and collision support.
And gob returns a dead duck.
Posted: Tue Aug 15, 2006 1:12 pm
by TheBuzzer
do you think if i port my 2d gui mod menu to use this 3d engine will it run it better? or will it make it slower?
Posted: Fri Aug 18, 2006 12:27 am
by Kojima
Hard to say without seeing your code. I can say the gui in raptor is fairly fast. In fact I'm using it to make a clone of Sensible World of Soccer, so the gui will rapidly by the next alpha with a lot more gadgets/lists etc.
Posted: Mon Sep 04, 2006 4:59 pm
by Kojima
Hi,
Just a quick note to say the commercial pc versions of raptor(Now synthesis 3dmax) has been released for the price of 25 dollars.
Just to be clear, the psp version will remain freeware, but if you'd like to be able to quickly test your code on pc/mac/lniux you might like to consider the commercial package, which includes support for pc/mac/linux(Using sdl) and also a BlitzMax version.
https://gbp.swreg.org/soft_shop/51012/shopscr2.shtml
I was going to make the pc version free too, but I've just been hit with a phone bill so I have no choice, sorry.
(Also drak if this post is inappropriate for these forums, please just delete it isntead of banning me, I honestly have no idea if it's allowed given the psp version is still free)