I’ve been wanting to share an idea - a hardware 3d computing platform (CC0 1.0).
The principle is - on one CPU chip and video core, but the video core is not simple:
- a separate conveyor Bloom, a separate SSAO and a separate Blur, a separate can be both HDR and even Lens Flare, and everything else for calculating 3D models and textures. And further along the apparatus conveyor-mixer after each main conveyor.
You know what hardware support is - that a PC the size of a box of matches plays 4K video - something that my laptop with four cores can not have at 1.5 Hz. And what is written in the shader (algorithm), can do on the chip and hardware and even too high quality.
The code should look like this (as an example):
for bloom in scene.object:
if «bloom» in bloom:
bloom = shader.bloom()
bloom.h = own[«bloom.h»]
bloom.v = own[«bloom.v»]
- where shader - calls to the shader conveyor.
If there is no access to the shader conveyor, a transparent picture is superimposed over the main picture via the mixer-conveyor. But in the light of the fact that everything is hardware and does not load resources - this is unlikely to happen, probably only in Indy games like Antichamber maybe, and then for SSAO.
Many shaders (like Bloom, Blur) do not work with 3d, but with the final picture, and for SSAO, can leave the door for getting from 3d computations the necessary data for own algorithm.
For each object with the property “bloom”, can write a unique algorithm.
So is Blur and Motion Blur. And with SSAO for each object, it becomes still actual - on the wall of the room SSAO = 2-3, on the model = 0.2-0.3.
And this is not all calculated as a single whole, but all on the hardware level on individual conveyor and even mixes (which is also spent resources in classic shaders) on a hardware mixer. You can also add a conveyor and colors and contrast - like Filters in the same GIMP, only in real time, and still smoke / fire !!!
Of course, there is room for other shader computations - plasma, lasers … out of the pipeline, or maybe on a separate conveyor …
Yes, this APU is different, yes, it’s a bit strange … but the manufacturer can propose for game developers such - "our APU, maybe at the hardware level in 4K - Bloom, up to 12 unique algorithms; SSAO, up to 15 unique algorithms per scene, and guaranteed - there are … a lot of polygons and on the size of the model of this then, the texture is up to that size; smoke and fog at least for the whole scene and up to 10 sources of unique fire, on the basis of which you can create unique effects algorithms - and it’s all hardware. "
Everything is simplified - and the hardware itself, where it is not necessary to select the GPU in accordance with the CPU’s performance, the very principle of the device of game engines, and the simplification of the process of creating games. And against the background of a single bus with a bandwidth of bandwidth, and not a frequent change of motherboards. Ideal solution for monoblock PCs, consoles, laptops, tablets - although now the line between all of the above, has become even smaller.
This principle is simple - what a small chip does easily, the GPU does arithmetic calculations for each render frame, depending on the shader algorithm itself, and is very loaded. We make the GPU work very hard with software shaders. Сan also leave and compatibility with previous games.
And hardware support, always one of the most powerful indicators and everywhere. Even core i7 will not be able to run a software-based modern game, and here plus the hardware shaders - one of the highest needs for the GPU, along with polygons and textures.
Thank you for attention.