A new open-source software framework is under development that looks like it could do everything from Processing-style visualization to video game development.
Polycode is a free, open-source, cross-platform framework for creative code. You can use it as a C++ API or as a standalone scripting language to get easy and simple access to accelerated 2D and 3D graphics, hardware shaders, sound and network programming, physics engines and more.
Hit their website and you can see some interesting examples of the project used to process LIDAR-style music video data, GIS data, and create a graphical rogue-like game. via Polycode.
VisualisingData has a great list of visualization tools, ranging from the big dogs (R, Processing) down to the lesser-known guys (Mondrian, D3) that winds up being a great starting list for anyone looking to get into the data visualization space.
This second part presents the prominent and powerful data visualisation programming languages and environments that dominate the creative engineering that sits behind today’s design output
AMD is backpedaling on their earlier statements about DirectX and graphics API’s, stating that they were taken out of context. As I originally suspected, the number of developers eager (or willing?) to code to bare metal is a startling minority.
The previous interview claimed that developers want the API to “go away,” that it’s getting in the way of creating some truly amazing graphics. Huddy himself was even quoted saying that developers have admitted this in conversations. But in this latest interview, he said that only a handful of high-end gaming developers were looking to bypass DirectX and code directly to hardware.
“It’s not something most developers want,” he said. “If you held a vote among developers, they would go for DirectX or OpenGL, because it’s a great platform. It’s hard to crash a machine with Direct X, as there’s lots of protection to make sure the game isn’t taking down the machine, which is certainly rare especially compared to ten or fifteen years ago. Stability is the reason why you wouldn’t want to move away from Direct X, and differentiation is why you might want to.”
I’m sure some people want that kind of access to the hardware, but they’re predominantly in the research world. Most developers would happily trade away that tiny bit of performance for the ease of development and portability of a good api. I just don’t think DirectX is a particularly good API.
A somewhat controversial piece over on Bit-Tech mentions a comment from AMD’s developer relations manager where he says that many game developers just want the API to go away.
‘It’s funny,’ says AMD’s worldwide developer relations manager of its GPU division, Richard Huddy. ‘We often have at least ten times as much horsepower as an Xbox 360 or a PS3 in a high-end graphics card, yet it’s very clear that the games don’t look ten times as good. To a significant extent, that’s because, one way or another, for good reasons and bad – mostly good, DirectX is getting in the way.’ Huddy says that one of the most common requests he gets from game developers is: ‘Make the API go away.’
Now, I think there’s a bit of a miscommunication here. I sincerely doubt many game designers want to go back to the old days of IRQ21 and manually mapping pixels to memory spaces. I suspect the real comment is that ‘DirectX is a pain to deal with’ and ‘I want a more transparent & easy to use API’. Not that OpenGL is any better, but many developers want to be rid of the classis glTransform & rasterization commands and move to a new generation of API’s, as evidenced by the success of things like Unity and Ogre.
Rene Schulte has just released SLARToolkit, a toolkit designed for bringing augmented reality to Silverlight-powered applications with ease, and is now proud to announce it is available at CodePlex. The library description:
SLARToolkit is a flexible Augmented Reality library for Silverlight with the aim to make real time Augmented Reality applications with Silverlight as easy and fast as possible. It can be used with Silverlight’s Webcam API or with any other CaptureSource or a WriteableBitmap. SLARTookit is based on the established NyARToolkit and ARToolkit. SLARToolkit uses a dual license model and could be used for open or closed source applications under certain conditions. See the License page for details.
He provides sample markers and a demonstration application at his site. See an example video below.
Equalizer, after 7 months of development, has finally hit version 0.9.1, bringing new FSAA and distribution algorithms to the distributed rendering product. New features include:
Subpixel compounds for full-scene anti-aliasing (FSAA) or depth-of-field (DOF) decomposition
CUDA and GPGPU developers can head on over to the NVidia Developer Zone and, if you’re a registered developer, download the beta of the new CUDA Toolkit 3.0 features early support for the upcoming Fermi architecture. Also:
CUDA Driver / Runtime Buffer Interoperability, which allows applications using the CUDA Driver API to also use libraries implemented using the CUDA C Runtime.
A new, separate version of the CUDA C Runtime (CUDART) for debugging in emulation-mode.
C++ Class Inheritance and Template Inheritance support for increased programmer productivity
A new unified interoperability API for Direct3D and OpenGL, with support for:
OpenGL texture interop
Direct3D 11 interop support
cuda-gdb hardware debugging support for applications that use the CUDA Driver API
New CUDA Memory Checker reports misalignment and out of bounds errors, available as a debugging mode within cuda-gdb and also as a stand-alone utility.
CUDA Toolkit libraries are now versioned, enabling applications to require a specific version, support multiple versions explicitly, etc.
CUDA C/C++ kernels are now compiled to standard ELF format
Work on bringing 3D Acceleration to the web continues, and the latest advancement is that now WebGL is part of the regularly WebKit nightlies. WebKit is the foundation of Safari, and many other browsers, and if you’re on OSX you can check it out and take it for a test drive.
WebGL is a new standard being worked on in the Khronos consortium. The work done in Khronos is only available to its members, so I can’t show you the spec just yet. But it will become public within the next few months after a review by Khronos members. The good news is that WebGL is now available in WebKit nightlies as of October 4, 2009 (r49073). So if you’re running Leopard or Snow Leopard you can try it out for yourself. WebGL runs in the HTML Canvas element, so it works very similarly to the 2D Canvas capability currently in WebKit.
Even if you’re not on a Mac, you can hit the site for examples and code-snippets and see how the implementation is shaping up.
The Java Neural Network Framework “Neuroph” has just been updated with a few new routines to aid in Image Processing work, mostly image recognition. On their website they’ve posted some examples and howto’s demonstrating what you can do.
Neural networks are one technique which can be used for image recognition. This tutorial will show you how to use multi layer perceptron neural network for image recognition. The Neuroph has built in support for image recognition, and specialised GUI tool for training image recognition neural networks. Simple image recognition library can be found in org.neuroph.contrib.imgrec package, while image recognition GUI tool is in easyNeurons application [Main Menu > Tools > Image recognition]
The Khronos Group, the guys behind OpenGL, OpenCL, and several other open standards, have announced a new specification called OpenMAX AL1.0 for application-level Video, Audio, and Image Processing.
OpenMAX AL (Application Layer) enables native applications to be portable across multiple operating systems and hardware platforms by providing an extensive application-level API that enables high-level abstraction for comprehensive audio-visual media functionality. OpenMAX AL provides the ability to create and control player and recorder objects, connecting them to configurable input and output objects. Inputs and outputs include content readers and writers, headphones, loudspeakers, microphones, display windows, cameras, broadcast radios, LEDs and other types of A/V devices.
The spec is meant for both hardware accelerated solutions and software-based systems, and supports a wide variety of systems such as recording, playback, MIDI, metadata, and various effects. The spec is already available for download. Read the full press release after the break.
Comments