Reputation: 28 Craftsman
- Active Members
- Active Posts:
- 382 (0.33 per day)
- 18-September 11
- Profile Views:
- Last Active:
- Jun 10 2014 04:43 PM
- OS Preference:
- Favorite Browser:
- Favorite Processor:
- Favorite Gaming Platform:
- Your Car:
- Who Cares
- Dream Kudos:
Posts I've Made
Posted 2 Mar 2014If the ground is flat and you consider the +y axis to be the up direction, you can check if the object's y coordinate is less than the ground's y coordinate.
If the ground is anything other than flat you can compute the signed-distance between the object's position vector and the line (2d) or plane (3d) representing the ground.
Posted 28 Feb 2014Hey.
I studied computer programming in my native language (Icelandic) and that was confusing enough. I'd hate to have to go through that in a language I don't know. I've nearly failed tests on basic programming concepts, not because I didn't know those concepts, but because I could hardly figure out what the hell they were trying to ask, and once I did it took forever to compose an appropriate answer.
I'd definitely ask what language their material and exams use. If English isn't an option for both, it'll be tough.
I'm pretty sure it's all in French. I'm nearly fluent in the language, but I don't know any CS or math vocabulary. Now that you mentioned it, I imagine I would have the same problem if I were to study CS in Portuguese, which is my native tongue. I didn't think that would be much of an issue, but thanks for pointing it out so I can prepare myself.
Posted 28 Feb 20141. If all you want is to make games, by all means use an API.
2. If you want to learn 3D graphics and all the math behind it, write a simple engine.
I think this is one thing that differs a programmer (1) from a computer scientist (2).
You might make a very impressive game if you go for 1, but you will miss out on all the wonderful stuff going on under the hood.
You might end up with a humble looking 3D graphics engine if you do 2, but you will learn a ton and you will appreciate it so much more.
A little story: I took a class in video game programming last year and I made what my professor claims to be the most impressive project he has seen so far (because even though it was actually very simple, it was all from scratch - as far as scratch goes). I presented it to that class at the end of the semester and everybody was amazed (mine was the only 3D project). Then this year I presented the same game to his new class in the first day of the semester, before they had learned anything about graphics, and no one seemed impressed. Why? Because they don't know how hard it is to build something like that.
That's my reason for making that suggestion. />
Posted 28 Feb 2014No, it is not picking, but thanks for the answer.
I realized that I didn't word my question correctly. Sometimes asking the right question is harder than finding the answer!
Basically: I have a line in 3D space, call it wL, specified by w1 and w2. This line is represented by a line, call it sL, on screen space formed by s1 and s2.
My question was: as I traverse sL going from s1 to s2, what is the z-depth of wL at any given point si?
Naively I thought that the change in z was linear, but it's not at all. It depends on a number of factors.
I was able to solve this problem by projecting wL into the x-z or y-z world-plane (depends on the angle sL is being draw). Then I considered a line passing through the origin with slope given by d/(si-(w/2)) where d is the focal length and w the width of the screen. Then I computed intersection between said line and wL. Since what I really wanted to compute was 1/z (this is for zbuffering), I was able to simplify the formula to just one addition per loop iteration!
I'm not sure if this is ray tracing - I know nothing of ray tracing. I figured it out on my own and I'm very proud of it even though it's just reinventing the wheel.
Posted 26 Feb 2014
I disagree. She said the point is to learn and improve. So don't start by using API's. You won't learn anything. Try building a simple 3D engine from scratch first. Yes, that means reinventing the wheel. I have tons of books to recommend.
First of all, learn Java to this level: http://www.amazon.co...=effective+java
Math: http://www.amazon.co...mputer+graphics, http://www.amazon.co...mputer+graphics
Graphics: http://www.amazon.co...mputer+graphics, http://www.amazon.co...D7HEGDKH34WWEYC
Engine architecture: http://www.amazon.co...rds=game+engine
- Member Title:
- D.I.C Regular
- 23 years old
- January 24, 1991
- Years Programming:
- Programming Languages: