Synthesis 3DMax (Formaly Raptor 3D) Commercial pc version.

General, off-topic discussion about things of interest to the members of these forums.

Moderator: cheriff

Post Reply
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Synthesis 3DMax (Formaly Raptor 3D) Commercial pc version.

Post 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.

Image

Image

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
Last edited by Kojima on Mon Sep 04, 2006 4:55 pm, edited 6 times in total.
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Post 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();
  }

Gary13579
Posts: 93
Joined: Mon Aug 15, 2005 7:43 am

Post by Gary13579 »

Nicely done, will look forward to this.
User avatar
Drakonite
Site Admin
Posts: 990
Joined: Sat Jan 17, 2004 1:30 am
Contact:

Post by Drakonite »

Moved to Release Announcements.

Kojima, please start posting in the right place..
Shoot Pixels Not People!
Makeshift Development
Muhu
Posts: 2
Joined: Wed Jun 28, 2006 6:20 am

Post by Muhu »

Sweet another 3D engine!
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Post 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?
User avatar
Drakonite
Site Admin
Posts: 990
Joined: Sat Jan 17, 2004 1:30 am
Contact:

Post 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.
Shoot Pixels Not People!
Makeshift Development
jockyw2001
Posts: 339
Joined: Thu Sep 29, 2005 4:19 pm

Post 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 :)
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Post 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.
User avatar
Drakonite
Site Admin
Posts: 990
Joined: Sat Jan 17, 2004 1:30 am
Contact:

Post 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.
Shoot Pixels Not People!
Makeshift Development
jockyw2001
Posts: 339
Joined: Thu Sep 29, 2005 4:19 pm

Post 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
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Post 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)
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Post 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.
Oobles
Site Admin
Posts: 347
Joined: Sat Jan 17, 2004 9:49 am
Location: Melbourne, Australia
Contact:

Post 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.
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Post 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)
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Post by Kojima »

Hey, did you change your mind oobles?
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Alpha 3 released.

Post 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.
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Post 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.
TheBuzzer
Posts: 49
Joined: Mon Feb 06, 2006 10:02 am

Post 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?
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Post 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.
Kojima
Posts: 275
Joined: Mon Jun 26, 2006 3:49 am

Post 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)
Post Reply