How to learn advanced CryEngine type graphics technologies

Started by
14 comments, last by Eric Lengyel 8 years, 11 months ago


Ambiguous slides are great because then you need to think about the problem a bit.

Eh, sometimes you can clearly see the author just doesn't wants to spill his precious beans. When I see that I don't see it like "Oooh, learning opportunity!" I see it more as "Oh, what an asshole!". If you do research and you publish it, you explain it properly, otherwise don't publish at all since it becomes just a matter of showing off at that point.

Even showing off is better than nothing. Sometimes you just want to get some new ideas not how they should be implemented.

Just found this blog that talks about more on this.

http://c0de517e.blogspot.fi/2015/04/sharing-is-caring.html

He's referring to many of research papers, often coming from universities, that do this (present a new technique with no code or means to reproduce the results) making it useless for any practical purpose.

CryTek's slides are a bit different because they're just explaining 'this is what we did'. It is already proven to work (it's in their games) and obviously they won't give you everything in silver plate to reap off their efforts w/ copy pasting. They give enough to figure the technique on your own.

Of course the more they share, the better.

Advertisement
I strongly agree with josh petrie, that practice is the key (accompanied by articles, books, forums etc).
What I would do, is define the exact result I want to achieve, then strip that to the needed techniques and for each technique start coding, google tutorials/books and examples and bit by bit achieve the aimed result. "all modern cool features of cry engine 3" doesn't give accurate enough results :)

For example, you mentioned that you want to achieve tilebased deferred lighting. Let's give this one a go:

- create a test 3d scene
- load and render it with a forward lighting shader and a camera
If so far, so good
- move from forward to deferred, that way understanding how deferred rendering/ lighting works
- once you master both, look for articles etc. On tilebased rendering
- start implementing, ask explicit questions on gd.net when you have an issue :)

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

Hopefully not sounding too much like a broken record....

The basics are the basics. They are old hat. You need to read the old books. Read about the compilation models and how things work. Read compiler theory. Read about computer architecture. The PC's architecture saw its last big revolution in 1995 with the Out of Order Core, and graphics in the early 2000's with the programmable pipeline and shaders.

But the interesting stuff is new research. I've got a bookshelf next to me filled with non-CS books, and CS-related research papers and conference proceedings going back about 15 years. It isn't just CS stuff, I've got three fairly recent psychology books on my desk --- to be completely honest I'm using them to stand my monitor up a little higher now that I read them --- but note that there is so much to game development than computer science. Psychology, world history, world religions, mathematics (lots of that!), physics, art theory, music theory, I've even got a few books on cartography (some questions you might not have thought significant about maps: how much should you include on your map based on scale? What are the standard symbols? What are alternative map styles that people have used over centuries? Are there other map styles, like route maps, economic maps, thematic maps, and travel landmark maps, that we can leverage rather than the more common physical feature map? ) and other topics on my bookshelf.

The mathematics and core structures and algorithms in game development do not need new books. If you want to learn the graphics technologies, first get a solid understanding of linear algebra, iterative mathematics, discrete mathematics, and calculus. There are many old but excellent books on the subjects. Get a solid understanding of the core algorithms and data structures used in CS. Once you understand the subjects you've got the basic tools you need.

Then apply those tools to all the recent research at conferences like siggraph, sigchi, infovis, vast, and many more. There is far more than you can ever read, just look over the lists from conferences and pick something to read every few weeks and pick something that catches your eye.

Thanks guys for all of your thoughts.

GPU PRO 1

GPU PRO 2

GPU PRO 3

GPU PRO 4

GPU PRO 5

I roughly looked through all of these books. Actually they are still very advanced and hard to understand.

What I figured out to get to CryEngine graphics level of knowledge (not skills):

1.Read all basics (Ray tracing from the ground up book is one of the best I find so far, it actually explains basic theories of photorealism, then you will understand advanced rendering techniques better, since those techniques mostly are trying to acheive what Ray tracing can actually do, well, in real time)

2.Gradually expands basics. Someday you will understand everything including the CryEngine slides.

3.Carefully choose your learning curve from basics to advanced.

(This is also a more dependable way of learning, what if you are developing next CryEngine100 someday? there won't be a book about it)

Hopefully not sounding too much like a broken record....

The basics are the basics. They are old hat. You need to read the old books. Read about the compilation models and how things work. Read compiler theory. Read about computer architecture. The PC's architecture saw its last big revolution in 1995 with the Out of Order Core, and graphics in the early 2000's with the programmable pipeline and shaders.

But the interesting stuff is new research. I've got a bookshelf next to me filled with non-CS books, and CS-related research papers and conference proceedings going back about 15 years. It isn't just CS stuff, I've got three fairly recent psychology books on my desk --- to be completely honest I'm using them to stand my monitor up a little higher now that I read them --- but note that there is so much to game development than computer science. Psychology, world history, world religions, mathematics (lots of that!), physics, art theory, music theory, I've even got a few books on cartography (some questions you might not have thought significant about maps: how much should you include on your map based on scale? What are the standard symbols? What are alternative map styles that people have used over centuries? Are there other map styles, like route maps, economic maps, thematic maps, and travel landmark maps, that we can leverage rather than the more common physical feature map? ) and other topics on my bookshelf.

The mathematics and core structures and algorithms in game development do not need new books. If you want to learn the graphics technologies, first get a solid understanding of linear algebra, iterative mathematics, discrete mathematics, and calculus. There are many old but excellent books on the subjects. Get a solid understanding of the core algorithms and data structures used in CS. Once you understand the subjects you've got the basic tools you need.

Then apply those tools to all the recent research at conferences like siggraph, sigchi, infovis, vast, and many more. There is far more than you can ever read, just look over the lists from conferences and pick something to read every few weeks and pick something that catches your eye.

Very thoughtful. That's GOOD IDEA.

You know John Carmack Reverse algorithm? Basically John Carmack invented volum shadom algorithm himself after someone already wrote a paper about it.

There is hardly anyway you John Carmack would have spent time to actually try to find that paper. Instead he did it himself based on basic knowledge.

Read the incomprehensible research ppublications, and collections of older techniques like in GPU Gems, Shader X, and GPU Pro.

And Game Engine Gems.

This topic is closed to new replies.

Advertisement