Carmack On Future Graphics Engines

Discussion in 'General 3D Technology' started by MikeC, Oct 31, 2002.

  1. SA

    SA
    Newcomer

    Joined:
    Feb 9, 2002
    Messages:
    100
    Likes Received:
    2
    It seems you can never have too much triangle rate, fill rate, memory bandwidth, or rendering efficiency. The more you have of any of the above, the less developers are restrained and the more realistic the graphics.
    Different developers take different approaches placing different emphasis on some aspects of the pipeline over others at any given time. However, all aspects of the pipeline have a long way to go before real-time Hollywood quality CGI graphics is a reality.
     
  2. noko

    Regular

    Joined:
    Feb 10, 2002
    Messages:
    502
    Likes Received:
    0
    Location:
    Eustis Florida
    Voxel tracing?? LOL, can anyone explain? What he said there backs up the other comment on reducing polycount but higher quality pixels or something to that effect.
     
  3. psurge

    Regular

    Joined:
    Feb 6, 2002
    Messages:
    939
    Likes Received:
    35
    Location:
    LA, California
    OpenGL Guy, DemoCoder,

    I would agree so long as the set of all programs only contains programs of finite length. AFAICS however, as defined ClassX contains programs of infinite length, and hence is not countable.

    Serge
     
  4. WaltC

    Veteran

    Joined:
    Jul 22, 2002
    Messages:
    2,710
    Likes Received:
    8
    Location:
    BelleVue Sanatorium, Billary, NY. Patient privile
    This is actually a pretty valid point. There've been many comments Carmack has made over the years which decry his own personal lack of artistic ability and creativity. Many of the effects he's "wanted to see" in the past were easily obtainable with existing hardware using existing tools *if* you knew how to manipulate the hardware and the tools to get the results you were after. What Carmack seems to want is 3D hardware that works in a manner that mimics Carmack's programming approaches. Hence his "100 passes" remarks--ie, there are ways to get the same effects he's thinking about with present hardware if you are a skilled artist and you know how to use your tools. Carmack doesn't know how to use the artistic tools so he's asking for their function to be duplicated in hardware because *to his way of thinking* this is the only way to achieve the effects he imagines he'd like to see.

    I'm not sure if Carmack fully understands what he's asking for when he asks for it, frankly. He's attempting to bridge the stilted, precise world of the programmer with the intuitive, artistic role of the artist, it seems to me. And as such he's actually getting a few things confused in the process, and simply doesn't realize that most of the effects he imagines are already possible given sufficient artistic talent and competency with a decent set of tools (it's amazing what you can do with tools--often go far beyond anything the programmers making the tools ever imagined was possible with them.)

    From a hardware standpoint I think multiple parallel vertex and pixel shading is hugely important, and I also think adding FP precision to the color pipeline of up to 128-bits of color--specifically to increase the dynamic range (the number of shades of a particular color) of each color--will be the "breakthrough" in upcoming 3D games we've all been looking for. But this won't happen until the tool sets and the artists involved internalize the new freedoms this hardware brings and begin to utilize them. Unfortunately, because of that ever-present demon of backwards compatability, it probably won't be any time soon that we see 3D games which *require* > 32-bits of color accuracy (which is a shame, frankly.)
    But when we do start seeing such games--ho, boy, watch out....;)

    The odd thing here is that Carmack doesn't seem to understand the degree to which his company is making Doom III to be backwards-compatible with 32-bit and < 3D hardware presently on the market. Take away those limitations and I think Carmack would be astounded at what present artists could do with hardware like the R300 (and supposedly nv30 when it ships.) Amazed, actually.

    Backwards compatability, more than any other bugaboo, is what's been holding back the graphical state of 3D game graphics more than any other factor, IMO. As big a fan of 3dfx as I was when the company was shipping products, I am nonetheless amazed to read on the infrogames forums the number of people who are complaining that UT2K3 "won't work right" with their V5 or even V3 3D accelerators. What's even more amazing than that, however, is the contortions Epic seems to be undergoing in trying to make their base code "more compatible" with the V5/V3. Personally, I think that's a mistake. But it's that kind of thinking, which for some reason seems very elusive to some 3D game programmers, that really holds back the state of 3D game graphics--which aren't doing a fraction of what they could do under the GF4/Radeon8500, let alone products like the exceptional R300.

    If Doom III seems somewhat unimpressive to some it's certainly not because of the limits of present top-of-the-line 3D hardware, even though such hardware is not capable of 100 passes, etc. It's because the goals that are being handed to ID's artists are backwards-compatible goals, and thus in a real sense a straight-jacket the artists are given to work in. Carmack, maybe, tends to forget that at times. He seems to me to often blur distinctions between what his company is presently shipping with what *he'd like to see them ship* at some indefinable future date.

    It would be nice, for instance, to hear Carmack say, "We aren't shipping Doom III in 64-bit color because at the time we ship it there will only be a couple of 3D accelerators on the market it could run on, and we don't want to limit our buying audience to that subset of the whole. Therefore our software will be constrained to limits far below the maximum achievable in some current 3D hardware. Also, we ourselves need to move beyond 24-bit +8 graphical tools into a class of 64-bit color tools and the like, and that's taking some time as well." I mean, I think that would be far more valuable than talking about "100 passes" and that type of thing which, when you think about it, really tells you very little....;)
     
  5. Entropy

    Veteran

    Joined:
    Feb 8, 2002
    Messages:
    3,062
    Likes Received:
    1,021
    Nagorak, you have a point in that id games have pretty much stuck to a single theme, Q3 being the exception to some extent. Not too strange given how small an outfit they are (limited resources) and that many of the key people are the same.

    If you don't like beige, don't buy beige computers. Simple as that. Same goes for olive green software. :)

    WaltC, it is odd that you point out what you percieve to be deficiencies in Carmack, then turn around and note that other developers than id perform the same "sins" to an even larger degree! Plus of course, that you praise features that Carmack has been instrumental in pushing.

    I think JC is probably quite aware both of his limitations and his abilities. I can see no particular reason to question that. You may not agree with his priorities and way of expressing things, but that's the way life is. If you don't like the way he is doing things, you are free to do something better. John Carmack has earned a fair bit of respect, not from being successful, but from actually making an effort to be correct in his official statements, and for making efforts to clarify, if his statements despite his efforts turned out questionable. Furthermore, he (and id software) has consistently tried to push the envelope technologically compared to his contemporaries. id software has also had a very positive relationship with both with players and with mod makers - a scene and technological/artistic proving ground they helped create. Additionally, Carmack has been very open and helpful to other parties involved in 3D - his attitude to software patents has been a boon to the entire industry. Plus, he generally makes a lot of sense.

    No man is perfect.
    You seem bent on shooting at Carmack, perhaps because he has been turned into an icon, and you don't like icons. I can't know.
    But he doesn't particularly deserve it.
    And suggesting that he doesn't understand the rendering consequences of his engine decisions is going a bit far IMHO.

    Entropy
     
  6. Oats

    Newcomer

    Joined:
    Feb 11, 2002
    Messages:
    37
    Likes Received:
    0
    WaltC, hard to beleive you are serious. What's harder to beleive, and hilarious to me, is that you could understand something Carmack fails to grasp. No offense, but you ain't even in the same league (very few people are).

    Backtrack a few years, youll see that carmack pushed hard for the features you deem important today.
     
  7. SA

    SA
    Newcomer

    Joined:
    Feb 9, 2002
    Messages:
    100
    Likes Received:
    2
    The following is an interesting paper on hardware assisted real time ray tracing using pixel shaders to perform the computations.

    http://citeseer.nj.nec.com/cache/pa...perszSzrtongfxzSzrtongfx.pdf/purcell02ray.pdf

    I thought the conclusions on the effectiveness of conditional branching and tiling were enlightening. Also the ideas of being able to store shader results to a stream buffer. I also thought that their mentioning the potential use and control of rasterization from within shaders was interesting. All of these ideas have a lot of other uses outside the context of real time ray tracing.
     
  8. OpenGL guy

    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    2,357
    Likes Received:
    28
    I thought so at first, but reread Arjan's original post: He's talking about a union, so you can't get more elements than exist in the sets being unioned. Thus, there are no programs of infinite length because each of the unioned sets has only programs of finite length.

    If he was talking about a limit, as I originally was thinking, then you would be correct.
     
  9. SA

    SA
    Newcomer

    Joined:
    Feb 9, 2002
    Messages:
    100
    Likes Received:
    2
    By the way, in the paper on real time ray tracing, look at the number of passes in the pixel shader: 1000 to 3000. Of course they are only drawing one rectangle per pass, but still it is interesting.
     
  10. DemoCoder

    Veteran

    Joined:
    Feb 9, 2002
    Messages:
    4,733
    Likes Received:
    81
    Location:
    California
    Even if the program lengths are allowed to approach infinity, it's still countable.

    Each program is represented by an integer N. ClassX is just the set of all natural counting numbers N. Thus, ClassX == N. Thus, it is countable (countably infinite)

    For any integer n in N, I can provide a mapping to a program p in ClassX. Likewise, for any program p in ClassX, I can assign it an integer n in the natural numberss. ClassX literally IS the Integers (natural numbers). Classes N < X are just proper setsets of N. The union of all proper subsets of a set is the set itself.

    I could switch this discussion over to discussing N, the set of subsets of N call it S1, S2, S3, etc where Sk = {all n in N such that log_2(n) < k} and the union of all Sk, call it X. Sk is the set of all integers of bit-length k or less. X is the union of all sets Sk. Set X is definately countable. In fact, set X = N.
     
  11. MfA

    MfA
    Legend

    Joined:
    Feb 6, 2002
    Messages:
    6,807
    Likes Received:
    473
    I tried to stay silent, because I cannot say this without a certain amount of hypocrisy ... but I feel it has to be said ...

    BOOOOOOOOORING

    (which is not a bad thing in itself, but combined with the fact that you guys are highjacking the thread it is a bit ... ;)
     
  12. PC-Engine

    Banned

    Joined:
    Feb 7, 2002
    Messages:
    6,799
    Likes Received:
    12
    :lol: At least this time around there's no lawyers involved :lol:

    I'm gonna go read that hardware assisted raytracing article now 8)
     
  13. no_way

    Regular

    Joined:
    Jul 2, 2002
    Messages:
    301
    Likes Received:
    0
    Location:
    estonia
    Refreshing IMHO, and quite like the old B3D used to be.
    In contrast to endless nv vs ati wars and rumour mill.

    (Nostalgia isn't what it used to be.-- Anonymous quote ) ;)
     
  14. MfA

    MfA
    Legend

    Joined:
    Feb 6, 2002
    Messages:
    6,807
    Likes Received:
    473
    People argueing over semantics and having long discussions about trivial non essential parts of arguements you mean? :) Voxels, raytracing et al. Ill agree with you, but set theory 101 discussions I find a bit tedious and off topic ... but then again my argueing with you is even moreso :/
     
  15. DemoCoder

    Veteran

    Joined:
    Feb 9, 2002
    Messages:
    4,733
    Likes Received:
    81
    Location:
    California
    Actually it was originally analysis, not set theory. :) It did include some automata theory, Canter's theory of ordinals, and complexity theory. :)
     
  16. OpenGL guy

    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    2,357
    Likes Received:
    28
    Untrue. As I mentioned before, if you take the limit of these sets, you will get an uncountable number of programs. The problem is that in the limit you will get programs on infinite length, which your mapping doesn't handle. In the limit, this is a power set because the number of elements grows exponentially. Thus, the number of elements in the limit is uncountable.

    I have no problem accepting that the union of these sets is countable.
     
  17. psurge

    Regular

    Joined:
    Feb 6, 2002
    Messages:
    939
    Likes Received:
    35
    Location:
    LA, California
    well, this is what happens when people with math degrees start arguing ;)

    The OT trivial discussion on sets might be boring, but i find it much more interesting than arguing about some 100 pass blah blah. but that's just me.
     
  18. DemoCoder

    Veteran

    Joined:
    Feb 9, 2002
    Messages:
    4,733
    Likes Received:
    81
    Location:
    California
    A program is just an integer. How can the union of integers, as the size of the integers approach infinity, result in an uncountable set? The integers by definition are countable. Any union of integers, no matter how large, is countable. Let's dispense with calling these things "programs", they are integers. When we talk of program length, we are just talking about a set of integers bounded above and below, e.g. ceiling(log_2(n)) <= "length"



    Consider the following: Let Sk = {k}. That is, a set considering of a single element, k. Now let us consider U, the union of Sk with k>1..inf. Are you claiming that U is uncountable?
     
  19. OpenGL guy

    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    2,357
    Likes Received:
    28
    As I said, your mapping is flawed. Consider the follow example:
    Let Xn = { numbers between 0 and 1 whose decimal expansion has less no more than n digits}. Obviously, Xn is contained in Xm if m > n. However, lim Xn = real numbers

    I can do the same thing with your example: Take your integers, map them to the reals by placing a decimal in front of the integer (in other words, divide by 10^n where n = number of digits in integer). This set converges to the real numbers.
     
  20. Althornin

    Althornin Senior Lurker
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    1,326
    Likes Received:
    5
    By your argument, the set of integers is uncountable.
    However, that is simply not the case.
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...