Jump to content
  • Advertisement
Sign in to follow this  
EDBarrera

Basic knowledge about raytracing technique

This topic is 2602 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi everybody, I need some advices. First of all I want to tell you I could trace rays from the camera to its projection plane drawing a sphere on my screen. I was trying moving the projection plane on the z-axis and I understood that when the projection plane is nearer the projected object than the camera the image is bigger than if you move the projection plane nearer the camera than the projected object. I also understood how to move on the projection plane's coordinate system and how to implement supersampling to avoid aliasing. All this draw just a planar sphere, no lighting and shadows.

I know basic operations with vectors and points such as cross product, dot product, add a vector to a point, add two vectors and so on. I know how to add, scalar and multiply matrices too. I have known all this knowledge trying to remember when I went to school and reading papers and articles on Internet.

Now, I want to tell you that I don't remember how to solve equations. I don't remember algebra symbols too. To give an example, I could understand how to calculate field of view (fov) in my raytracing by other implementations but I couldn't do it on my own. Another example is that I don't understand the sphere equation and the line-sphere intersection equation (quadratic equation) but I use them.

I would like to know if someone of us could help me about what contents of geometry/algebra/maths I need to know to not depend on other people's knowledge and whatever you think about I need to know. To give an example I would like to understand equations from Wolfram Math World or books such as Physically Based Rendering: From Theory to Implementation. I have a copy and I wish I could understand it.

Thank you in advance.

Share this post


Link to post
Share on other sites
Advertisement
You need to learn to concretize your questions and the lack of grasping something. If you look at a book and you "don't get it", you need to be able to investigate your own understanding about it, and be able to classify which parts of it you can comfortably handle, and which parts you don't.

Whenever you don't understand something, the proper reaction to yourself should not be a general "I don't understand", but to be able to do some self-reflection on "why don't I understand this? What am I unfamiliar with here? What information should I probably know in advance, before I can try to understand this? Where can I find that information?"

Sometimes it is also worth asking "Is this information relevant to me?", and try to keep your eyes open broadly on different topics. Have a look at several books that might be interesting, and pick the one you think is the easiest to grasp.

For deep learning, there is no shortcut but doing the learning for yourself. (for asking a specific question on a specific problem X, you have Google and Gamedev) If you think you are trying to learn something too difficult, take a step back and try to approach something a bit simpler.

Share this post


Link to post
Share on other sites
Depending on your learning style, there's a few options. The most likely route would be to find some kind of college-level algebra class and sit it on that, or actually take the course for credit if your life situation allows. I'm sure there are decent courses available free on the Internet as well that would let you set your own pace and schedule and such.

It sounds like you just need a refresher in basic algebra, and that shouldn't be too hard to come by. If you can work with vectors and matrices then you shouldn't find routine equation-solving to be too hard :-)

Depending on the formulae from Physically Based Rendering, you might also want to progress into basic calculus and specifically multivariate calculus. That kind of stuff is generally low-to-mid-level college type courses, which again you can probably attend cheap and/or free via the web.


clb makes a decent point about being self-aware when you run into something you're not totally comfortable with, but there's a flip side in my opinion: sometimes you just don't know what you need to brush up on, and sometimes just getting some hints about the right terminology or whatever can make all the difference in finding solutions the old-fashioned way. So while it's a good idea to try and identify exactly what you need to learn next, don't be hard on yourself if there are moments when that seems really tough :-)

Share this post


Link to post
Share on other sites
Thank you clb and ApochPiQ. I really appreciate your advices.

I've thought to take a course of algebra but all them are part of a whole career at the university. Looking for someone who could explain me personally all this stuff is expensive. Looking for courses available free on the Internet is difficult because their contents are not so revised as a book. So, I've found a solution about this, buy books.

I was looking for some books on Amazon and I found the following written by Jerome E. Kaufmann and Karen L. Schwitters:

Elementary Algebra (9 Edition)
Intermediate Algebra (9 Edition)
Elementary and Intermediate Algebra (6 Edition)

I've been reading a few parts of them and they are organized and structured, they contain examples and exercises, and made me feel comfortable. So I decided to buy a copy of the two first ones for the reasons I mention before and this one that I consider it's a good idea: as the third book said, they reintroduce some topics.

I think I'll take some distance about raytracing focusing my attention on these books but I also think they'll give me a great knowledge to come back to raytracing later.

I would like to know if you know these books and your opinion about my way to learn this topic. I'll start with Elementary Algebra and them I'll continue with Intermediate Algebra. I think it would take me one and a half years to learn all them. I would study from Monday to Friday two hours a day. After that, I consider to continue with Linear Algebra.

Thank you very much!

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!