Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (525)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (594)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Where to start with 3d  (Read 2902 times)
0 Members and 1 Guest are viewing this topic.
Offline Kommi

Junior Devvie




All opinions will be lined up and shot!


« Posted 2003-02-11 19:11:34 »

I was wondering if anyone could help me by suggesting where to start with 3d graphics programming. I am comfortable with Java2d and would like to learn something new. Specifically:
1) what should I use for begginer 3d? Java3d or do everything from scratch?

2) where can I find some could simple tutorials to hepl me understand the basic concepts?

3) where can I find the proper easy to understand math documentation?

Any feedback is much appreciated.

Kommi
Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Reply #1 - Posted 2003-02-11 19:24:59 »

Well, I'm hardly an advanced 3d programmer, but
I would suggest downloading LWJGL and play with the examples, download the open-gl specs at www.opengl.org and stop by at http://nehe.gamedev.net/ (nice open-gl tutorials).

I think it's easier to begin with open-gl than to start with java3d, because using java3d kind of assumes you're familiar with many 3d concepts which might be intimidating.
With straight open-gl it's fairly easy to do some simple yet cool looking stuff but it will get complicated once the math gets involved if you want to do more complicated things.
Once you get to the point where you will need a lot of complicated math stuff, thats the point where j3d probably becomes the easy road as much of that rocket science is already done for you.

I hope this helps  Smiley

Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #2 - Posted 2003-02-11 19:44:13 »

Lwjgl would be a good starting point, Java3d is disappointinly sparse on info/tutorials for a beginner. For Java3d, the best you'll get are the Sun tutorials and j3d.org.

Math documentation - well theres several articles over at GameDev.net, and http://www.flipcode.com/geometry/ at flipcode amongst other things. Other that that I'd just recommend the graphics bible: http://www.amazon.co.uk/exec/obidos/ASIN/0201121107/qid=1045003354/sr=1-1/ref=sr_1_18_1/202-9652400-6331058

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline EgonOlsen
« Reply #3 - Posted 2003-02-11 20:06:58 »

I suggest to ignore all this Java3D, LWJGL and whatnot stuff and to build a simple (maybe just flatshaded using Java2d) "3d-engine" yourself. You won't need that much math at the beginning. Try to rotate a flatshaded cube or something. I'm always scared when reading things like "i'm writing an 3d engine using OpenGL but what are matrices? (read: I don't have a clue what i'm doing here, but i'm a master of copy-and-paste)".
Of course, this approach won't lead you to something people are making Ahhs and Ohhs about...but for learning purposes, i think it's still the way to go.

Offline Herkules

Senior Devvie




Friendly fire isn't friendly!


« Reply #4 - Posted 2003-02-12 07:20:57 »

Ok, to have any possible opinion here.....

Go for Java3D. With the samples provided with the distribution, the sources of the utilities and the repository on j3d.org, there is an easy path to get something meaningful on the screen quickly.

If you have some artwork - theres lot on the net - in 3DS, milkshape, OpenFlight, .... there are good loaders around and you can assemble 3D scenes with ease.
Without having to deal with rather technical details like culling, clipping, sorting, renderstates, blendmodes, vertexbuffers etc.

With tools like j3dtree or the FlyTrough  or the scenegraph editor you can analyze e.g. how a loader constructed a sub-scenegraph and learn from that.

For a basic understanding of 3D techniques, ask amazon. Or the people here.

HARDCODE    --     DRTS/FlyingGuns/JPilot/JXInput  --    skype me: joerg.plewe
Offline snak

Senior Newbie




Eu não falo o português


« Reply #5 - Posted 2003-02-12 14:05:04 »

I tried getting into java3D several times without success.  I think I tried to do too much at once.  What finally worked for me was to create a 2D game using java3D (textured squares for my tiles & sprites).  Anyway, it helped me get into java 3d, maybe an approach to try.
Offline Kommi

Junior Devvie




All opinions will be lined up and shot!


« Reply #6 - Posted 2003-02-12 15:38:52 »

I think I would perfer to take the road suggested by EgonOlsen. I would like to try to create a simple flat shaded cube with java2D and then to see if I can get it to rotate. Now the question is how do I do it. I am guessing that it is just a 3d drawing algorithm. Any suggestions or links to books or tutorials that would help me achieve my desired results would be very helpful.

Kommi
Offline Herkules

Senior Devvie




Friendly fire isn't friendly!


« Reply #7 - Posted 2003-02-12 15:49:23 »

http://www1.jawink.ne.jp/koji-y/java/jvrrc.htm

Download the beast and decompile it. Nice to see what can be done in ~1000 lines of Java....

It does not use more than fillPolygon() to draw things!


HARDCODE    --     DRTS/FlyingGuns/JPilot/JXInput  --    skype me: joerg.plewe
Offline Kommi

Junior Devvie




All opinions will be lined up and shot!


« Reply #8 - Posted 2003-02-13 02:10:06 »

Thats a little too complicated to start with

Kommi
Offline snak

Senior Newbie




Eu não falo o português


« Reply #9 - Posted 2003-02-13 18:22:05 »

I used the Sun J3D tutorials at http://developer.java.sun.com/developer/onlineTraining/java3d/

The tutorial is a little tough to navigate, but it's pretty good, and covers the API pretty broadly.  I copied and adapted some code from chapter 7 to get some textured planes moving around.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline qonjure

Junior Newbie




When nature calls we all shall drown.


« Reply #10 - Posted 2003-02-13 20:21:46 »

I fully agree with EgonOlsen. Write your own software engine to get knowledge whats going on behind the scenes so to speak. He has got a rather impressive java 3d software engine up and running.  Wink
Or you could write a raytracer Smiley Might not be realtime but you will learn alot about 3d graphics. A basic raytracing tutorial can be found here http://www.2tothex.com/raytracing/
Offline EgonOlsen
« Reply #11 - Posted 2003-02-13 21:16:53 »

Quote
He has got a rather impressive java 3d software engine up and running.  Wink
It's not just software any longer. It supports OpenGL via LWJGL now. However, i won't move away from software rendering with this engine...i love to have control about every single pixel....and in Java, i think that software rendering still has a right to exist.

Online princec

« JGO Spiffy Duke »


Medals: 422
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #12 - Posted 2003-02-14 11:13:59 »

Just start with OpenGL using LWJGL. It's really a lot easier than everyone makes out. The reason I started investigating OpenGL in the first place is because J3D was so difficult to understand. (A wise decision in the end, given how crappy I think J3D is).

Cas Smiley

Offline EgonOlsen
« Reply #13 - Posted 2003-02-14 12:59:18 »

Quote
I'm sure writing a full software renderer is very enjoyable for you. However, for the majority of programmers out there its a bit of a waste of time.
He was talking about learning not about a deadline to met or a specific project to finish, so i don't see a waste of time unless the learning itself is one. I wasn't talking about writing a fully featured software renderer. Just something small that renders some flat shaded polygons. Using OpenGL or D3D or similar to learn (not use!) 3D is like using Collections.sort() to learn how a sorting algorithm works IMO.


Offline Herkules

Senior Devvie




Friendly fire isn't friendly!


« Reply #14 - Posted 2003-02-14 13:25:51 »

Quote

Using OpenGL or D3D or similar to learn (not use!) 3D is like using Collections.sort() to learn how a sorting algorithm works IMO.


Don't think so. There are just other things to learn. Around 1997/98 is was black art being able to write a fast rasterizer. Of course, it still is, but nobody today can take much advantage of that knowledge and other things are far more important.


HARDCODE    --     DRTS/FlyingGuns/JPilot/JXInput  --    skype me: joerg.plewe
Offline EgonOlsen
« Reply #15 - Posted 2003-02-14 16:36:18 »

Quote
EO,

By your logic, before starting to write your own renderer you should first understand the nature of reality.

We live for finite time, and only have finite space in our minds. Learning into detail of something that has been done many times before is in most cases futile.

I guess you started to learn math using a pocket calculator then?!

Offline qonjure

Junior Newbie




When nature calls we all shall drown.


« Reply #16 - Posted 2003-02-14 18:35:59 »

I still agree with EO  Grin
Writing your own software renderer "forces" you to learn about illumination models, transformation (best learned from a math book though IMO) etc. stuff that will be useful when you get to shader programming. As said before the rasteration of the polygons can be done by java2d as such project isnt supposed to be fast, the primary objective is to learn the basic of 3d programming.  
Online princec

« JGO Spiffy Duke »


Medals: 422
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #17 - Posted 2003-02-15 09:30:35 »

It doesn't appear to have done me any harm starting with OpenGL... and to use OpenGL properly you still need to understand most of the theory; it's just that it also teaches you about the thing that software-renderer proponents forget about, which is how to use an API effectively to make a rendering operation work with hardware efficiently. These days that's equally as important as knowing the maths.

Cas Smiley

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Reply #18 - Posted 2003-02-15 09:42:33 »

Starting with OpenGL is also very motivating because things start to look good very easily. With my 1st 3d game, there's hardly any complicated math involved even though I did write a flat shaded software renderer once on my old Atari ST (that was a looong time ago). That math knowledge is very rusty Tongue but I'm picking it up again.
The thing for me always is, if you gonna learn something, make it fun to learn it. Getting a math book and first studying it for a year before creating anything isn't much fun for me at all.

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

toopeicgaming1999 (71 views)
2014-11-26 15:22:04

toopeicgaming1999 (60 views)
2014-11-26 15:20:36

toopeicgaming1999 (14 views)
2014-11-26 15:20:08

SHC (27 views)
2014-11-25 12:00:59

SHC (25 views)
2014-11-25 11:53:45

Norakomi (31 views)
2014-11-25 11:26:43

Gibbo3771 (25 views)
2014-11-24 19:59:16

trollwarrior1 (38 views)
2014-11-22 12:13:56

xFryIx (77 views)
2014-11-13 12:34:49

digdugdiggy (55 views)
2014-11-12 21:11:50
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!