3d software for dreamcast

This forum is for discussion pertaining to homebrew and indie software for the Dreamcast, such as homebrew games, emulators/interpreters, and other homebrew software/applications. Porting requests and developmental ideas are not to be made here; you can make those here. If you need any help burning discs for homebrew software, this is the place to ask as well.
Post Reply
Lander
DCEmu Newbie
DCEmu Newbie
Posts: 7
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Sat Oct 25, 2014 4:54 pm
Has thanked: 0
Been thanked: 0

3d software for dreamcast

Post by Lander »

Hello, I have a question regarding the sdk kit that comes with Katana dev box set. I was wondering if the installation disc that contains all of the sources comes with any kind of 3d modeling software such as 3d studio max. Ive heard before that it comes with plug ins, but I have also been told that it comes with the actual software. And if it doesn't come with any 3d modeling software, than what ones can I use that are suitable with the Dreamcast. Finding old 3d modeling software is quite difficult.

Thanks
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5652
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: 3d software for dreamcast

Post by BlueCrab »

No, the Katana SDK does not come with any sort of 3D modeling software.
User avatar
Christuserloeser
Moderator
Moderator
Posts: 5948
Joined: Thu Aug 28, 2003 12:16 am
Location: DCEvolution.net
Has thanked: 10 times
Been thanked: 0
Contact:

Re: 3d software for dreamcast

Post by Christuserloeser »

While I am quite fascinated by anything Katana related I would like to point out that people use KallistiOS nowadays to develop for Dreamcast.
Insane homebrew collector.
User avatar
bogglez
Moderator
Moderator
Posts: 578
Joined: Sun Apr 20, 2014 9:45 am
Has thanked: 0
Been thanked: 0

Re: 3d software for dreamcast

Post by bogglez »

I'm not sure whether it was part of the Katana SDK or separate, but there seems to have been some kind of 3DS Max exporter plugin for the Sega Ninja mesh format that was used on the Dreamcast?
That said, you can always write your own exporter for Blender and use that.
Wiki & tutorials: http://dcemulation.org/?title=Development
Wiki feedback: viewtopic.php?f=29&t=103940
My libgl playground (not for production): https://bitbucket.org/bogglez/libgl15
My lxdream fork (with small fixes): https://bitbucket.org/bogglez/lxdream
Lander
DCEmu Newbie
DCEmu Newbie
Posts: 7
Joined: Sat Oct 25, 2014 4:54 pm
Has thanked: 0
Been thanked: 0

Re: 3d software for dreamcast

Post by Lander »

Do you think maya 6 would work?
User avatar
bogglez
Moderator
Moderator
Posts: 578
Joined: Sun Apr 20, 2014 9:45 am
Has thanked: 0
Been thanked: 0

Re: 3d software for dreamcast

Post by bogglez »

Lander wrote:Do you think maya 6 would work?
You can use any tool as long as your game can read the file format.
Wiki & tutorials: http://dcemulation.org/?title=Development
Wiki feedback: viewtopic.php?f=29&t=103940
My libgl playground (not for production): https://bitbucket.org/bogglez/libgl15
My lxdream fork (with small fixes): https://bitbucket.org/bogglez/lxdream
Lander
DCEmu Newbie
DCEmu Newbie
Posts: 7
Joined: Sat Oct 25, 2014 4:54 pm
Has thanked: 0
Been thanked: 0

Re: 3d software for dreamcast

Post by Lander »

bogglez wrote:
Lander wrote:Do you think maya 6 would work?
You can use any tool as long as your game can read the file format.
So a 3d moddeling software program from 2004 is compatible to develop for the dreamcast. That's good to know, since older modelling software is very difficult to find. Also is the Katana more efficient to develop 3d games compared to Kallistios? I noticed most games developed using Kallistios are 2D.
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5652
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: 3d software for dreamcast

Post by BlueCrab »

You cannot legally develop games for the Dreamcast with Katana, unless you have a license from Sega to do so. Sega hasn't sold such licenses in a number of years. Some sites (this one generally included) don't like stuff related to Katana or WinCE-based homebrew because of the legal issues surrounding it.

KallistiOS, on the other hand, is legal to use for just about anything. There isn't much in the way of 3D homebrew out there at all, but I can assure you that you can use KOS for that purpose. KOS has also recently gotten a much nicer 3D API to work with, as PH3NOM has taken over development of libgl and has vastly improved it, both in functionality and in efficiency.

Plus, you're more likely to find help using KOS than Katana. The homebrew community for the Dreamcast pretty much all have used legal libraries like KOS, libdream, and libronin for most of the time of the community's existence. There's probably very few people (if any) around who have actually used Katana and could help you use it if you were to run into troubles, whereas there are a lot more people who have used and still use KOS around.
Lander
DCEmu Newbie
DCEmu Newbie
Posts: 7
Joined: Sat Oct 25, 2014 4:54 pm
Has thanked: 0
Been thanked: 0

Re: 3d software for dreamcast

Post by Lander »

The thing is that without certain art packages you can't make a 3d game for the dreamcast. The art packages that were compatible with the dev kit are extremely hard to come by, which is why I was asking if it came included. The only 3d modeling software I have is maya 6. If its compatible with KallistiOS, or libdream to be used for dreamcast development, please let me know.
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5652
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: 3d software for dreamcast

Post by BlueCrab »

KOS doesn't have any model loading code in it directly, but I'm sure you can find various bits and pieces of model loading code for OpenGL that could work with KOS and its libgl. Then it's just the case of exporting your model in a format that can be easily used.

I've never used Maya 6, but I suspect that it is able to export to more than just its own format.
Lander
DCEmu Newbie
DCEmu Newbie
Posts: 7
Joined: Sat Oct 25, 2014 4:54 pm
Has thanked: 0
Been thanked: 0

Re: 3d software for dreamcast

Post by Lander »

Do you know if the cubicvr engine would work on the dreamcast, and with kos? I found a site that explains how to compile it with a kallistios toolchain. Also on sourceforge it says that the engine can be used for 3d modeling as we'll.
User avatar
Neoblast
DC Developer
DC Developer
Posts: 314
Joined: Sat Dec 01, 2007 8:51 am
Has thanked: 3 times
Been thanked: 1 time

Re: 3d software for dreamcast

Post by Neoblast »

It does work, perhaps you could use the model loading and soem other stuff. But that engine itself is way too slow to be usable ad expecting great framerate.

PH3N0M's openGl provides much more performance.
User avatar
PH3NOM
DC Developer
DC Developer
Posts: 576
Joined: Fri Jun 18, 2010 9:29 pm
Has thanked: 0
Been thanked: 5 times

Re: 3d software for dreamcast

Post by PH3NOM »

I would have to say forget about CubicVR, I dont think that project is still being developed for DC.
And I dont think anyone has really done anything with it, but huge credit to Charles for his work on it.

As BlueCrab mentioned, there are several tutorials online for how to load and render models with Open GL, have a look at this site for tutorials on Wavefront .OBJ models ( good for static models ) or MD2 models ( good for animated models )http://openglsamples.sourceforge.net/pr ... log/index/

Basically, to get the best performance using Open GL in KOS, you will need unpack your model into a vertex array that can be rendered with a single call to glDrawArrays.
Lander
DCEmu Newbie
DCEmu Newbie
Posts: 7
Joined: Sat Oct 25, 2014 4:54 pm
Has thanked: 0
Been thanked: 0

Re: 3d software for dreamcast

Post by Lander »

Ok. thanks for letting me know.
@PH3NOM- I was looking through some threads about OPenGl and came across one that you were working on.

its from this thread

viewtopic.php?f=29&t=102836

I was wondering how has the progress been coming along, or if its finished. It looks incredible, and looks like it could turn out to a really nice 3d game engine.
User avatar
bogglez
Moderator
Moderator
Posts: 578
Joined: Sun Apr 20, 2014 9:45 am
Has thanked: 0
Been thanked: 0

Re: 3d software for dreamcast

Post by bogglez »

OBJ is actually a quite terrible format for games, it is meant for model data interchange between artists. For a beginner I suggest the following:
- Worry about non-animated 3D models for now, ignore animation.
- Think about the features you want, but be humble. Multiple materials is all you want to care about for now.
- In your graphics engine, you will want to differentiate between the model data and an instance of the model. You can load a particular model file, but have multiple characters on screen that use the same data (+ some individual information like current position etc).
- Lay out the data types you will need for vertex data, index lists, materials.
You will probably want something like this:

Code: Select all

struct Vertex {float pos[3]; float uv[2]; float normal[3]; }
struct Material {
  char diffuseTexture[PATH_MAX];
  // char bumpmap[PATH_MAX];
  float ambientColor[4];
  float diffuseColor[4];
  uint16_t firstIndex, lastIndex; // Refers to "indices" in "struct Model" below
};

struct Model {
  Vertex *verts;
  uint16_t *indices;
  Material *materials;
};

struct PlayerCharacter {
  Model *model;
  float transformationMatrix[4][4];
};
- Think about the rendering routine:

Code: Select all

for each PlayerCharacter playerChar in playerCharacters {
  setTransformMatrix(playerChar->transformationMatrix);

  for each Material material in playerChar->model {
    bindTexture(material.diffuseTexture);
    setColor(material.diffuseColor, material.ambientColor)
    drawIndexedTriangles(&playerChar->model.indices[material.firstIndex], &playerChar->model.indices[material.lastIndex]);
  }
}
- You need to write model loading code. Your file format will be much simpler than all the string parsing etc in OBJ will require. Basically like this:

Code: Select all

uint16_t vertexCount;
Vertex* vertices;
uint16_t indexCount;
uint16_t *indices;
uint8_t materialCount;
Material *materials;
- Implement the reading code. With this simple format you can just malloc the right size, then fread into your data structure. Easy and fast.

So the above is actually not so complicated, the real problem is that you will need to output models in your simple file format.. So you will need to convert from OBJ etc to your file format. It's better to write a converter program separate from your game for this, or maybe even an exporter for Blender.. It will make your game engine much simpler and perform better. I want to work on this in the future myself. Maybe we could even write a simple lib for the kos-ports.

Here is a converter I wrote years ago, you can also see the speed comparison when loading. The OBJ loader was quite optimized: https://www.youtube.com/watch?v=y8JsVRAgOJI
Wiki & tutorials: http://dcemulation.org/?title=Development
Wiki feedback: viewtopic.php?f=29&t=103940
My libgl playground (not for production): https://bitbucket.org/bogglez/libgl15
My lxdream fork (with small fixes): https://bitbucket.org/bogglez/lxdream
Post Reply