An issue surrounding a patent for a specific shading technique has held up a promised open source release for the code behind Doom 3, as programmer John Carmack goes back to make modifications.
Carmack promised at an August QuakeCon keynote speech that the open source release for Doom 3 would come after the company's October release of Rage.
But Carmack explained in a tweet yesterday that the "lawyers are still skittish about the patent issue," referring to a Creative Labs patent on a 3D shading technique known as "depth fail."
Creative Labs filed for a patent on the technique in 1999, though the process became widely known as "Carmack's Reverse" after the Doom 3 programmer independently discovered and publicized it during the game's development.
Id used the technique under a license from Creative for Doom 3's 2004 release, but Carmack will have to "write some new code" to get around the legal issues for the open source release, he tweeted.
In a 2004 forum discussion, Carmack suggested he had devised a separate shading method that got around the patent issues but that resulted in a "speed hit" on performance.
So we won't be able to see the code as-implemented until... 2019. Great. I continue to be awed by the uselessness of software patents toward the stated goal of promoting "...the Progress of Science and Useful arts.... "
Why doesn't he publish the code as a study case for the sake of research independently of Doom and then everyone who likes can simply reintegrate it. ;)
http://en.wikipedia.org/wiki/Shadow_volume -- Depth Fail section describes the technique in detail. Includes links to patent, if you would like to know how it works.
This is a dead algorithm anyways.... No one uses this technique in any modern game. The technique is very fill rate intensive. So utterly pointless to have to deal with this useless patent. I would just release the source without the shadows implemented. All Carmack has to do is place comments where he removed the code. The community will be more than happy to add it back in. Problem solved.
It occurs to me that there's probably more controversy and less unanimity of opinion about freedom of expression through computer games than there is regarding the application of "physical invention"-based patent law to algorithms about ones and zeroes. I don't think I have ever seen a single well-reasoned argument from an informed person defending the current system -- and given that game developers and gamers will dispute *anything*, that's amazing.
Maybe now that the U.S. Supreme Court has ruled convincingly on the free speech thing, the IGDA might consider focusing on helping Congress to craft an update to the code that gives the USPTO the tools it needs to start making better rulings on software applications. We'll continue to be stuck with the counterproductive approvals granted so far, but at least the situation could start to improve for the future.
So what if anything *are* the IGDA board doing about software patents?
The company where I work, does not release Software in US, because the cost to hire lawyers to research patents every single time they want to release stuff is too much.
So it went like: Screw US, we will release elsewhere, where people will not sue us to death randomly because of some random functionality.
Damn you Creative.
Caring by sharing.
You just can't use it (for free)! :(
Maybe now that the U.S. Supreme Court has ruled convincingly on the free speech thing, the IGDA might consider focusing on helping Congress to craft an update to the code that gives the USPTO the tools it needs to start making better rulings on software applications. We'll continue to be stuck with the counterproductive approvals granted so far, but at least the situation could start to improve for the future.
So what if anything *are* the IGDA board doing about software patents?
- Disable writes to the depth and color buffers.
- Use front-face culling.
- Set the stencil operation to increment on depth fail (only count shadows behind the object).
- Render the shadow volumes.
- Use back-face culling.
- Set the stencil operation to decrement on depth fail.
- Render the shadow volumes.
I can get in trouble? It seems so random.
The company where I work, does not release Software in US, because the cost to hire lawyers to research patents every single time they want to release stuff is too much.
So it went like: Screw US, we will release elsewhere, where people will not sue us to death randomly because of some random functionality.