6 ms·
The Computer Graphics Library
- z3phyr 13y agoOff-Topic : What are some of the unsolved problems of graphics programming? Realistic Animations?
- mjn 13y agoI haven't followed progress recently, but one question that's gotten some research is how to make GPU-ized raytracing work on dynamic scenes. Static scenes can be handled fairly well by preprocessing data into efficient spatial data structures like KD-trees or octrees. For example, here's an nVidia paper from 2009 that raytraces scenes made up of huge numbers of voxels, using a representation called a sparse voxel octree: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.156.3512&rep=rep1&type=pdf http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.156... Last time I looked at this research, though, how to handle highly dynamic scenes efficiently was a bit of an open question. It seems to largely be a data-structure research problem.
- blt 13y agoHair, fur, and fabrics, while huge progress has been made, still don't look totally realistic.
- sekasi 13y agoFor anyone curious in the field, there's a version of Michael Abrash's black book publicly available at github; https://github.com/jagregory/abrash-black-book https://github.com/jagregory/abrash-black-book
- jheriko 13y agoalthough its labelled and oft quoted as such the black book is really an optimisation manual in disguise imo. the content on graphics is virtually non-existent except for outdated information about old hardware interfaces from a time before DirectX, OpenGL and any particularly friendly rendering interfaces (so there was GDI and Win32 for early Windows, but we weren't yet in the time where programmers could spunk away resources and the hardware suck it up without destroying your performance). there is some discussion on VSD techniques, the bresenham line algorithm etc. but these are also outdated - libraries today draw lines for us and even AAA games can ship without giving a serious crap about culling and hit framerate... i do still highly recommend reading it, just don't expect to learn anything useful about graphics. my main takeaway from this book was 'optimise by measuring then experimenting and measuring to confirm the optimisation'. its so obvious but a large number of programmers i've worked with seem to prefer to guess and not measure...
- clarry 13y agoI actually started reading the book slowly a few days ago, and am now in Chapter 17. So far there hasn't been anything about graphics; it's been mostly about low-level optimization and discussion of differences between 8086, 286, 386, and 486... yes, it's that outdated. There are some ideas that apply more generally (optimize your design and algorithms first, profile or measure, etc.). I don't think you need a book to learn these things, and I think they're close enough to common sense (for programmers) now anyway. Having said that, I still find the book interesting, and I can't wait to get to the part where Mr. Abrash gets to talk about the software rendering in Quake (which he worked on). It might be outdated information for most of you, but I'm actually interested in seeing how far you could push software rendering with modern CPUs; it's sad that progress on that front pretty much ended around the time Unreal was released. If it was good enough for games back in the 90s, why wouldn't it be good for games in 2014? If someone else here happens to be interested in 90s software rendering, make sure you read this bit about the Thief engine.. :-) http://nothings.org/gamedev/thief_rendering.html http://nothings.org/gamedev/thief_rendering.html
- 72deluxe 13y agoThanks for the link on Thief rendering. I remember playing the demo (or more like watching my brother playing the demo) and was scared to death so we never bought it. All that sneaking around scared me to death. I now play racing games. During the daytime.
- blt 13y agoI started writing one and got discouraged when per-pixel Phong shading on the teapot ran at like 10 FPS. A profiler showed me that I was bottlenecked by simple unavoidable work like matrix multiplies in my shaders. Maybe that profiler was wrong though... now I want to hack on it some more.
- clarry 13y agoWhen was that, and what sort of hardware were you using? Here's a rather impressive software renderer that does per-pixel Phong shading and shadow mapping (among other things): http://users.softlab.ntua.gr/~ttsiod/renderer.html http://users.softlab.ntua.gr/~ttsiod/renderer.html You might also want to look into Ingo Wald's thesis on realtime ray tracing. In a ray tracing tutorial Jacco Bikker wrote that Wald is reporting speeds of several frames per second for scenes consisting of thousands of polygons at a resolution of 1024x768 pixels, on a single 2.5Ghz laptop. That was written ten years ago, in 2004.
- simias 13y agoThe link towards the "shadow mapping article" seems broken, it's this one: http://fabiensanglard.net/shadowmapping/index.php http://fabiensanglard.net/shadowmapping/index.php
- arsupertec 13y agoahaan, gotcha..
- octopus 13y agoNice list of books. I think I read Fundamentals of interactive Computer graphics (1st edition) around 1999 :).
- mzs 13y agoAround '93 for me, the plates with the Xwing blew me away.
- jlas 13y agoNo love for the Shirley book? That's what we used at CMU. http://www.amazon.com/Fundamentals-Computer-Graphics-Peter-Shirley/dp/1568814690 http://www.amazon.com/Fundamentals-Computer-Graphics-Peter-S...