Sunday, July 09, 2006

The ´Shade Tree´ and what lies underneath



Thank god, we have another patent to mull over. REVOLUTIONYOTTAX spotted it over on the Nintendo forums. And strap yourselves in, this one will have us baffled until the Wii hits the stores, no doubt.

The patent is entitled Recirculating shade tree blender for a graphics system and get ready for a number of mouthfuls, here are the details. This patent comprises:

* A generalized shade tree blender that can be used for multitexturing as well as a number of other flexible blending effects. (...)

* Recirculating shader hardware within a graphics pipeline can be controlled to provide a number of independently controllable blending stages. (...) Thus, relatively low cost and compact shader hardware can be used to implement arbitrarily complex shade trees. (...)

* The results of a first texture mapping operation is provided to a reconfigurable shader. The shader performs a blending operation in response to the first texture mapping operation. The shader is then reconfigured, and is connected to receive the results of a further texturing operation. The reconfigured shader combines its previous results with the results of the further texturing operation to provide a blended output. (...)

* A shader can be recirculated any desired number of times to implement an arbitrarily complex shading model (...) [in order to] provide great flexibility in implementing a variety of complex shading models. (...)

* A recirculating shade tree pixel blender is implemented in hardware to minimize processing time per stage. In more detail, (...) [this] provides a relatively low chip-footprint, versatile texture-environment processing subsystem including a hardware accelerated programmable texture shader/pixel blender that circulates computed color, opacity and other data over multiple cycles/stages. (...)

Right, I am sure that this is lost on the majority of readers. It´s certainly lost on the majority of writers (i.e. me), so let us move on to other parts.

What is a shade tree, then? The patent´s description reads:
Generally speaking, a shade tree is a tree of nodes each of which takes parameters from its children and produces parameters for its parent. For example, the parameters may be the terms of the illumination equation (e.g., specular coefficient or surface Normal). Other parameters might comprise atmospheric effects (e.g., haze) or projections.

The text goes on to note that this technique has been readily used in pre-rendered graphics. For further reference, a document is cited. It is a paper that was published in 1984. Its author, Robert L. Cook, has worked for the computer division of Lucasfilm, is co-creator of the RenderMan software and is now vice president of software engineering at Pixar Animation Studios.

Shade Trees seem to have been a very important discovery as far as pre-rendered graphics go, as Mark Schmelzenbach explains (spelling mistakes removed):
In his 1984 paper, Cook developed the idea of shade trees. This is a very powerful model that allows the user to develop complex shading models using a 'shading language' without having to delve into the actual framework of the rendering program. The language was extended in 1985 by Perlin to provide control and looping structures, as well as logical operators. This evolved to eventually form the basis for textures in RenderMan.

Shade trees provide the ability to contol every part of the shading calculation. This allows the user access to both 'classical' shading models and experimental. Shaders can even be developed for a specific scene, producing (for lack of a better term), elegant hacks.

So this patent may somehow enable this technique to be used in real-time rendering and, put very bluntly, will make things easier and graphics prettier for developers and consumers, respectively. By how much, however, we don´t know. So, instead of going into this deeper, I would like to focus on a few paragraphs that are not quite as prominent. (formatting is mine)
Certain of the above-described system components 50 could be implemented as other than the home video game console configuration described above. For example, one could run graphics application or other software written for system 50 on a platform with a different configuration that emulates system 50 or is otherwise compatible with it. If the other platform can successfully emulate, simulate and/or provide some or all of the hardware and software resources of system 50, then the other platform will be able to successfully execute the software.

Are you with me this far? The patent is related to a home console, so it must concern the Wii. And here it seems to suggest that you can use Wii software on other platforms. My first thought was Wii - DS connectivity, my second was Virtual Console. But read on:
As one example, an emulator may provide a hardware and/or software configuration (platform) that is different from the hardware and/or software configuration (platform) of system 50. The emulator system might include software and/or hardware components that emulate or simulate some or all of hardware and/or software components of the system for which the application software was written. For example, the emulator system could comprise a general purpose digital computer such as a personal computer, which executes a software emulator program that simulates the hardware and/or firmware of system 50.

Some general purpose digital computers (e.g., IBM or MacIntosh personal computers and compatibles) are now equipped with 3D graphics cards that provide 3D graphics pipelines compliant with DirectX or other standard 3D graphics command APIs. They may also be equipped with stereophonic sound cards that provide high quality stereophonic sound based on a standard set of sound commands. Such multimedia-hardware-equipped personal computers running emulator software may have sufficient performance to approximate the graphics and sound performance of system 50. Emulator software controls the hardware resources on the personal computer platform to simulate the processing, 3D graphics, sound, peripheral and other capabilities of the home video game console platform for which the game programmer wrote the game software. (...)

Host 1201 may be a general or special purpose digital computing device such as, for example, a personal computer, a video game console, or any other platform with sufficient computing power. Emulator 1303 may be software and/or hardware that runs on host platform 1201, and provides a real-time conversion of commands, data and other information from storage medium 62 into a form that can be processed by host 1201. For example, emulator 1303 fetches "source" binary-image program instructions intended for execution by system 50 from storage medium 62 and converts these program instructions to a target format that can be executed or otherwise processed by host 1201.


This seems to me most interesting. Because it seems to go beyond both the DS connectivity issue and the Virtual Console.

I cannot quite make sense of what really is being suggested here. But it would appear that at least some Wii software can be made compatible with other devices, including personal computers and other gaming consoles. How that can be achieved and to what end, I don´t know.

Obviously, making the bulk of Wii software available to consumers without them having to buy the console is just stupid for a console manufacturer. So that can´t be it. But, at least with regard to some software, this does seem to be suggested here, after all. I give up, please have a go at solving this riddle.

Sources: US Patent & Trademark Office, Wikipedia, Mark Schmelzenbach
Thanks to: REVOLUTIONYOTTAX

Wii launching really early... or really late?



Here´s an interesting question: Who do you trust more? CNN Money or the Daily Telegraph? Both media claim to have inside information on the Wii´s launch date. British newspaper The Daily Telegraph writes:

Two dozen games will be available when the machine is launched in Britain at the end of November.

Now, end of November is later than most punters expected. Meanwhile, CNN Money claims that the Wii will actually launch much earlier than experts predicted. They write:

Industry observers - and insiders - say they expect the system to be available in October, with late September a dark horse candidate.

Now, while CNN actually goes into more detail about console production and even cites a reputable industry analyst, Nintendo denied that they had moved the launch to September. The third quarter was out of the question, a spokesman told Bloomberg:

"There's no change in our plan to release the console in the last quarter of this year," Yasuhiro Minagawa, a spokesman for the Kyoto-based company, said in a telephone interview today. "We are planning an announcement in September and it may be causing some confusion."


As much as I would like to believe CNN Money, Iwata painted a very different picture at the E3. In my interview, he told me that they will happily push back the launch until they have a sufficient software portfolio to support the launch of the hardware. This is a lesson most likely learned from the GameCube´s launch. Also, Nintendo really believes to be in no competition to Sony, both with regard to reaching a new audience and with regard to their completely different pricing strategy. So I believe that the Wii will launch no earlier than November.

That comment about the launch announcement causing confusion is just too cryptic for my liking. I am ready to be surprised, even confused by a last hardware secret. But how a launch date announcement could be confusing is beyond me. Even if they scheduled a press conference and told everyone the console would launch the next day (much like Apple launch their products) this would not be confusing to people. The only launch statement that would be confusing would be to announce more than one date or, even, announce that the console had already launched. While that´s confusing, it doesn´t make much sense. So I´m back to square one.

Sources: The Daily Telegraph, CNN Money
Thanks to: Nintendogal, GoNintendo

Wednesday, July 05, 2006

Blizzard developing for all next-gen consoles?



Blizzard Entertainment are looking for a senior producer, preferably with experience on all three next-gen consoles. Does that mean that Blizzard will be developing for Wii? Here´s the job offer:
Blizzard Entertainment has an opening for an experienced Senior Producer with a proven track record of producing high quality console games. (...)

Requirements (...)

* Recently shipped at least one AAA game in a producer role for one of these console platforms: Xbox, Xbox 360, PS2, PS3, or GameCube.

Plusses (...)

* Xbox 360, PS3, or Wii production experience.


Now, Blizzard´s flagship title is obviously the Massive Multiplayer game ´World of Warcraft´ and there is no reason why this game shouldn´t find its way onto all three next-gen consoles. Of course, the PC is the weapon of choice for this genre, with its reliance on keyboard input. But I am positive that they can adapt the game to fit the console platforms, even the Wii´s original controller.

Of course, if true, the game in question could be another one. It could be an entirely new game or it´s possible that ´StarCraft Ghost´ has now been revived as a next-gen project.

Either way, Blizzard has shown strong interest in console platforms over the last few years and it would only make sense if they planned to develop for all three next-gen consoles, including Wii.

Source: Blizzard Entertainment
Thanks to: Codename Revolution