nV News: Who are you? What do you do? What makes you so damn lucky?
Cass: My name is Cass Everitt. I work for NVIDIA in the OpenGL Applications Engineering group, which is the OpenGL part of technical developer relations. My primary responsibility is to make sure developers know how to get the most out of NVIDIA hardware.
This means writing demos and whitepapers, preparing presentations for developer trade shows, as well as direct contact through developer visits, email, lists, and OpenGL.org forums.
I do feel lucky - no doubt about it. Not just to have a job at the coolest graphics company in the world, but to be doing work that I truly love. The job market today is too good to waste time doing something you're not passionate about. I was lucky to discover 3D graphics programming was so much fun, but I think my passion for it is largely responsible for the rest.
nV News: What gets you going? New features or more fillrate and why?
Cass: Working on cool real-time rendering techniques is what gets me going, and I'd credit "new features" as being more enabling in that capacity today. Cool rendering techniques depend (to varying degrees) on both features and fill-rate, and scalable techniques can trade one for the other.
nV News: DirectX 8: Small step or giant leap?
Cass: I don't know -- I'm an OpenGL guy. :-) Seriously, I should clarify that by saying that both 3D APIs are being driven by the rapid pace of hardware development.
Both APIs will have to expose significant new functionality to allow applications to use the hardware. In OpenGL this will be done through extensions, and those extensions do represent a giant leap.
nV News: What do you feel is the number one mistake developers make to under utilize available hardware? What would you do to help them?
Cass: I would guess the #1 mistake is trying to write one-size-fits-all code.
Often developers do not take advantage of great extensions like vertex array range or register combiners in order to keep their code portable. Sure it's more work to make extension-specific optimizations and enhancements, but that's a lame excuse for a real-time app.
nV News: Favorite games? (If you have time...) Both for gameplay and just plain eye-candy.
Cass: I used to really like Gapper (very addictive CGA game). Today my daughter and I enjoy playing Star Trek Voyager: Elite Force together. I like to watch other people play Quake III (for the eye-candy), but my reflexes are too slow to do anything but die quickly.
nV News: What would be some good resources for the 3D layperson to use to get a further understanding of coding and rendering 3D graphics? What is the one book or resource you have worn out?
Cass: There's a lot available. Muller and Haines have done a great job with Realtime Rendering. Jim Blinn's A Trip Down the Graphics Pipeline is artfully delivered and packed with information. The Graphics Gems, Siggraph (and other conference) proceedings, and the old standby Computer Graphics: Principles and Practice are all great reference materials.
The OpenGL programming resources I use most are: the Red Book, the OpenGL Spec 1.2.1 (pdf), nvOpenGLspecs.pdf, OpenGL.org, lists and discussion forums.
I think Stroustup's The C++ Programming Language (3rd ed) is a must for serious C++ programmers, and the SGI STL web pages are outstanding for quick reference.
The resource I "wear out" is nvOpenGLspecs.pdf.
nV News: Upcoming NVIDIA demos, anything you can leak to us?
Cass: Now you know if I told you, I'd have to kill you. :-) Stay tuned though, we've got some great new demos coming in the next couple of weeks.
nV News: Involvement in new hardware: Do the nerds let you have a wish list for hardware features?
Cass: At NVIDIA, everybody gets to be involved. The architecture group
generally makes final determinations on what will and won't make it in to a particular design, but all interested parties are encouraged to make suggestions and participate in the discussions.
nV News: OpenGL is ever expanding and, I feel, the best API for cross-platform development. Do you feel that Microsoft and DirectX sometimes "holds
back" OpenGL development?
Cass: Microsoft is obviously focused on the DirectX APIs, but I don't feel they're holding back OpenGL development. I do wish they'd update the OpenGL library to support 1.2, though. It's annoying to have to use wglGetProcAddress() to get at 1.2 entry points.
I do think that OpenGL users should be more proactive about pushing
the OpenGL API forward. This is something I'm actively involved in right now through personal discussions, and through the opengl-api-dev group I started at eGroups.com.
nV News: Dream job? Where and what?
Cass: I try not to think too far ahead. I really enjoy what I'm doing now, and I might do this type of work for the rest of my career. I remember reading a comment from John Carmack in a Slashdot interview where he talked about damn good engineers becoming mediocre managers because they thought they were supposed to.
I am very happy being an engineer for NVIDIA. It's an exciting time to be doing this kind of work, and there's no other place I can work where I'm advancing the state of graphics as fast as we are at NVIDIA.
nV News: Any comments?
Cass: You guys run a great web site!
I would of course like to thank Cass Everitt for taking time out of his lazy and wide open schedule (heh) to answer these questions. If you have any comments, feel free to click, type and press send or post them in the forum.
Back to nV News