Slashdot Mirror


Doom 3 Source Released

alteveer writes "Just like Quake 3 before it, the Doom 3 source code has been released to the public (minus rendering of stencil shadows via the 'depth fail' method, a functionality commonly known as 'Carmack's Reverse')."

6 of 187 comments (clear)

  1. Re:Has anyone actually made any worthwhile with th by xavdeman · · Score: 5, Informative

    It's funny you mention Modern Warfare 3 since that game's engine is based on id Tech 3, an engine id Software open sourced before, just like they are doing now with Tech 4. "The engine was first used for Call of Duty 2 in 2005 under a proprietary license of id Tech 3 created by id Software in 1999, as at this time, the engine was a heavily modified version of the Quake III engine. The engine did not have an official name until IGN was told at the E3 2009 by the studio that Call of Duty: Modern Warfare 2 would run on the "IW 4.0 engine". (http://en.wikipedia.org/wiki/IW_engine)

  2. Re:Has anyone actually made any worthwhile with th by MBoffin · · Score: 5, Informative
  3. Re:Carmack's Reverse by scdeimos · · Score: 5, Informative

    This is hardly an authoritative source, but it does give some historical insight (from 2009) into why Carmack's Reverse had to be removed from the Doom 3 source release: http://newenthusiast.com/carmacks-reverse-still-an-issue-20090409489

  4. Re:License by Anonymous Coward · · Score: 5, Informative

    This doesn't seem to be a problem since the base GPL v3 license explicitly allows replacement of Section 16:

    7. Additional Terms.

        "Additional permissions" are terms that supplement the terms of this
    License by making exceptions from one or more of its conditions.
    Additional permissions that are applicable to the entire Program shall
    be treated as though they were included in this License, to the extent
    that they are valid under applicable law. If additional permissions
    apply only to part of the Program, that part may be used separately
    under those permissions, but the entire Program remains governed by
    this License without regard to the additional permissions.

        When you convey a copy of a covered work, you may at your option
    remove any additional permissions from that copy, or from any part of
    it. (Additional permissions may be written to require their own
    removal in certain cases when you modify the work.) You may place
    additional permissions on material, added by you to a covered work,
    for which you have or can give appropriate copyright permission.

        Notwithstanding any other provision of this License, for material you
    add to a covered work, you may (if authorized by the copyright holders of
    that material) supplement the terms of this License with terms:

            a) Disclaiming warranty or limiting liability differently from the
            terms of sections 15 and 16 of this License; or

            b) Requiring preservation of specified reasonable legal notices or
            author attributions in that material or in the Appropriate Legal
            Notices displayed by works containing it; or ... [snip] ...

  5. Re:Can I learn how to program the GPU from the sou by Dan+East · · Score: 5, Informative

    I've worked extensively with the Quake 1 and 2 sources (I ported them both to Pocket PC, which required rewriting a lot of the computationally expensive routines from floating point to fixed point math, as the ARM processors of that era did not have a FPU). I can say that no, you're not going to learn anything that way. The code has few if any comments at all, the routines are optimized, the data structures are optimized, tons of preprocessing of data happens both at the content level and during load time, plus any other trick Carmack could throw in there to increase performance. Unless you wanting to follow the path of execution as it relates to a specific data set or type of rendering, just to see the exact techniques used (obviously knowing specifically what you are looking for) then you're not going to learn that way.

    --
    Better known as 318230.
  6. Re:Shadow clarification by XenoBrain · · Score: 5, Informative

    You can read the substituted implementation here: https://github.com/TTimo/doom3.gpl/blob/master/neo/renderer/tr_stencilshadow.cpp https://github.com/TTimo/doom3.gpl/blob/master/neo/renderer/tr_shadowbounds.cpp I won't pretend to fully understand it but it does seem to be an implementaion of shadow volumes.