RENDER ZONE

http://www.ontmoeting.nl/renderzone/

homepage 

27 juli 2017

 

Render nieuws

Op deze pagina

 
Physically based renderers ontrafeld
 
Intel Embree en de wedstrijd
tussen CPU- of GPU renderen
 

Physically based- en basic rendering

http://www.vd-3d.com/physically-based-rendering/
 
 
Met het oog op nieuwe technieken en systemen bespreekt de auteur hier het Physically Based concept.
 
B-PBR (basic physically based Rendering)
A-PBR (Accurate physically based Rendering)
 
De term Physically based Rendering is een verwarrende term
Het impliceert helemaal niet dat het in alle opzichten de natuurwetten ook werkelijk volgt !
 
Het kan zelfs bij diverse Real-Time gereedschappen of Games worden gebruikt, waarbij het directe snelle resultaat veel belangrijker is dan een goede accurate rendering.
 
Bij Acurate Physically Based Rendering wordt echt alle onderdelen van de natuurkunde netjes toegeapst om zo een foto-realistische rendering te kunnen maken.
 
Bij Physically Based rendering wordt bedoeld, dat de meeste van de natuurkundige wetten in het programma worden gerespecteerd, maar dat gezien het tijd aspect en het visuele resultaat er wel enige concessies aan de regels wordt gedaan. In wezen is alles toegestaan, mits de uiteindelijke rendering er maar lekker komt uit te zien in relatief korte tijd.
 
Verder is het mogelijk dat het licht, zulke moeilijkheden oplevert ,om het werkelijk natuurgetrouw weer te geven dat het voor software om na te doen, vrijwel onmogelijk wordt. Ook bij het ontwikkelen van een Shader systeem met materialen komen we dergelijke dilema's al snel tegen.
Dus Physcially Based rendering is met het ene oog op de echte natuurkundige wetten en met het andere oog om er een lekker plaatje van te maken in niet al te lange rendertijd. Een compromis dus.
 

 

We nemen u mee naar de internet pagina van Corona, waarin de renderfabrikant het kooppubliek wijs wil maken dat het renderen met de processor vrijwel even snel gaat als met de grafische kaart en nog goedkoper is ook

 

We starten ons onderzoek bij Embree, de kernel van Intel die door Corona gratis wordt gebruikt

 

Corona somt allerlei storende en vervelende eigenschappen van grafische kaart renderen op, waarbij ze ver over de grens gaan wat marketing technisch verantwoord mag heten

 

Daarbij maken ze gebruik van Intel's semi wetenschappenlijk 'onderzoek' vastgelegd in een SIGGRAPH 2014 paper.

Embree

High Performance Ray Tracing Kernels

 
Embree V2.16.4 (begin juli 2017 verschenen)
 
https://embree.github.io/
 
https://github.com/embree/embree/releases
 
download Embree
https://embree.github.io/downloads.html
 
 
23 febr. 2016
 
About the question of double precision in Embree
 
jeffamstutz
The discussion surrounding a scene graph solution may be more appropriate for an entire rendering solution, such as OSPRay (http://www.ospray.org/). Embree is targeted at quickly building BVHs and traversing ray(s) through them. While this gives you enough to build your own rendering (or simulation) engine on top of it, anything beyond BVHs and ray traversal is outside the scope of the Embree project.
 
On the contrary, OSPRay is a rendering solution which builds on top of Embree. While the renderers we develop are targeted at scientific visualization, the API is built to be extended any other ray-based problem domain. It is at the level of a rendering engine that something like a scene graph makes sense to implement.
 
I would like to suggest that you at least take a look at OSPRay and consider if it better fits your needs. Keep in mind that it builds on top of Embree (the projects are developed under the same management team at Intel), so any of the benefits you see in using Embree are/can be directly leveraged in OSPRay. We use ISPC as a shading language, similar to how the ISPC Embree tutorials are built. We have an example scene graph in our "Qt Viewer" sample application, which may be a reasonable starting point for adding features to solve some domain specific problems.
 
Anyway, if you end up building a scene graph on top of OSPRay or Embree to solve some of the precision issues discussed in this thread, please share if you can. :)
 
https://github.com/embree/embree/issues/45
  

 

Render projecten die Embree toepassen

Een niet geheel complete lijst van Render programma's die gebruik maken van de GRATIS door Intel beschikbaar gestelde render kernel, voor CPU render software. Dus geheel en al gebaseerd op het renderen met de processor.
 
 
* OSPRay "A Ray Tracing based Rendering Engine for High-Fidelity Visualization"
http://www.ospray.org/
Opgebouwd met OpenRT API, OptiX API en PBRT API. Overeenkomend met Embree's Path tracer.
Embree en OptiX voorzien in verschillende Frameworks om een Ray Tracing renderer te bouwen.
Systeem eisen OSPRay
Linux, Mac OSX en Windows
Your CPU must support at least SSE4.1 to run OSPRay. The TGZ/ZIP packages contain most needed 3rd party dependencies, whereas for the (much smaller) RPM/installer packages you need to have installed Intel TBB v3.0 of nieuwer, Embree V2.13 of nieuwer, OpenGL en Intel's MPI Library.
 
 
* Corona Renderer
zie hieronder het uitgebreide verslag en de onthulling.
 
* FluidRay RT
http://www.fluidray.com/features/
Ook hier lezen we: FluidRay RT does everything easily and quickly without the need of an expensive GPU.
Daarbij vergeten we voor het gemak maar even dat de gebruikte CPU in de Embree PDF test ruim 4 x zo duur is dan de GPU!
 
* SimLab Composer
 
* Brighter3D rendering plugin for SketchUp.
https://www.brighter3d.com/
voor Windows 32- en 64-bit computers
1.5 GHz cpu of beter, SSE3 support, meerdere cores aanbevolen.
V 2.7.2 voor SketchUp 2017 en Keyframe Animation 2.0 ready
 
* Visual Designer 3D
http://www.vd-3d.com/
Real-time cpu rendering
Met de volledige toepassing van de aanwezige hardware in de computer zowel cpu als gpu. compatibel met zowel AMD als NIVDIA GPU's. Windows, Mac en Linux support
Mac OSX in ontwikkeling, Windows vanaf Windows 7 en hoger
 
* Glise
 
* An Autodesk Maya 2014 viewport plugin is based on the Embree Example Renderer.
 
* Embree Example Renderer The original Embree Example Renderer is no longer actively maintained. However, the OSPRay project contains a similar example of an Embree based pathtracer.
 

We starten met de tekst op Corona's website, waarin het renderen met de grafische kaart alleen maar voor problemen kan zorgen

 

'Corona van binnen uit'

"Waarom is het beter om met de processor te renderen?"

 

"Waarom we alleen met de processor renderen? Het voorkomt het flessenhals probleem, vertragingen en zonder GPU render beperkingen!

Daarmee voorkomen we hoge kosten, de warmte en het geluid dat grafische kaarten maken. De beperkingen hebben we niet zoals beperkte geheugenomvang bij GPU, beperkte schaduw ingewikkelheid, de beperkte ondersteuning van derde partijen plugins en met 3ds Max maps. We voorkomen daarmee driver problemen en langzame ontwikkeling van het render programma.
 
CPU Shaders zijn sneller om te ontwikkelen en kunnen tien- of Gigabyte aan RAM geheugen aan welke op elke hardware kan draaien.
 
Het enige voordeel van de grafische kaart zou de snelheid zijn.
Maar hoeveel sneller zijn grafische kaarten eigenlijk?
 
De vaak genoemde "100 x sneller" claim is een mythe. Volgens een recent SIGGRAPH verslag (* zie de link hieronder) leveren CPU's en GPU's ruwweg dezelfde per dollar en per Watt prestatie in niet al te ingewikkelde 3D modellen. Proef ondervindelijke bevestiging tussen CPU en GPU renderingen ondersteund dat.
 
Zoals u zult weten, dat het omschakelen naar GPU renderen het niet waard is, waarbij de CPU flexibiliteit en het geheugen worden gemist. Maar we zijn echter "open minded" voor toekomstige technische ontwikkelingen: CPU, GPU en andere co-processoren.
 
Intel Embree Ray Tracing Kernels
Corona Render gebruikt de Intel Embree Ray Tracing kernels, de snelste cpu-ray tracing primitieven op de markt. Omdat ze goed overeenkomen met de Cornona architectuur is dat een belangrijke factor bij de prestaties die worden bereikt."
 
Volgens Corona's internet pagina medio eind juli 2017
 
 
https://corona-renderer.com/features/proudly-cpu-based/
 
link naar Intel's Embree PDF
https://embree.github.io/papers/2014-Siggraph-Embree.pdf
 
Embree: A Kernel Framework for Efficient CPU Ray Tracing
 

 

Conclusie uit het SIGGRAPH rapport van 2014 geschreven door Intel om de processor te promoten

 
Conclusion
 
In this paper, we describe Embree, a kernel framework for efficient ray tracing on x86 CPUs. Embree is directed at professional rendering environments in which scenes with high geometric complexity and indirect illumination are the norm rather than the exception. To address this focus, Embree provides a set of commonly used kernels optimized for different ISA vector widths, workloads (e.g. coherent and incoherent ray distributions, static and dynamic scenes), and application-specific priorities (e.g. maximal performance or minimal memory usage).
 
Renderers built on these kernels can achieve BVH build and ray traversal performance comparable to (and often higher than) existing methods on any current CPU or GPU.
 
Further, this kernel-level approach is broadly applicable and avoids placing limits on the design of a complete rendering application.
For example, the Embree kernels enable maximal performance in renderers capable of tracing multiple rays in parallel, but there is no requirement that the renderer be parallelized. The Embree single-ray SIMD kernels can be used in a scalar renderer, via the same API. By seamlessly supporting both options, Embree enables developers to incrementally move from scalar to fully parallel rendering.
 
However, this flexibility comes with a tradeoff. Embree is not itself a stand-alone Global illumination system, nor a drop-in replacement for existing rendering engines. As a consequence, Embree cannot address system-level optimizations such as ray reordering, adaptive sampling and reconstruction, or paging of large model data between a host and an accelerator (unlike OpenRT or OptiX). In addition,
 
Embree lacks built-in support for texture mapping and volume rendering. For these reasons, we do not claim Embree is the best choice for every CPU based renderer. Rather, Embree offers a combination of performance, flexibility, and ease of use that is potentially useful in many applications.
 
 
 
 

Wie wint deze CPU- & GPU render

(woorden) wedstrijd?

In eerste instantie en op deze manier gebracht, niemand. Omdat de uitgangspunten commercieel getint zijn en voldoende technische gegevens en onderbouwing geheel ontbreken

 
Alle goede zaken, die de CPU voor Coronna kennelijk brengt met het gebruik van Embree en de standvastige opstelling dat CPU-renderen bijna net zo goed kan zijn als met de grafische kaart ten spijt.
 
In de Intel - Embree PDF voor Siggraph 2014 moeten we ook constateren, dat er een aantal opties niet uitgevoerd zijn in Embree, die niet in de marketing pagina van Coronna werden genoemd.
 

Jammer, een technisch product als render software, zou op een technisch juiste manier in de markt moeten worden gezet, waarbij de voor-, maar zeker ook de nadelen duidelijk en eerlijk zouden moeten worden vermeld.

En in een test moeten alle testgegevens worden vermeld, zodat het door anderen gecontroleerd kan worden.
 

Gebruikte hardware

Intel Xeon processor en grafische kaart NVIDIA Titan

 
 
 
• Intel Xeon Phi co-processor
 
In de PDF gebruikte kostbare Xeon processor, waarbij Intel bewust het typenummer weglaat.
Waardoor het hele Siggraph PDF verslag begint te zweven!
 
https://www.intel.com/content/www/us/en/products/processors/xeon-phi.html
 
Intel Xeon Phi product familie met een reeks van kostbare CPU's vanaf 64-Cores tot aan 72 Cores aan toe.
Nemen we bv. de onderkant (goedkoopste) uit deze familie de 7230F
deze is in het vierde kwartaal 2016 geïntroduceerd. Beschikt over 64 Cores met een basis frequentie van 1.30 GHz en 32 MB L2 cache. Met een opgenomen vermogen van maar liefst 230 Watt TDP.
De startprijs daarvan bedroeg $ 1.992,00. Bij andere sites staat de processor voor $ 4.197 te koop.
 
 
• NIVDIA GeForce GTX Titan
 
GPU opzet met NVIDIA's OptiX met Embree renderer ingebouwd. Waarbij de mogelijkheden van beide methoden zoveel mogelijk op elkaar zijn afgestemd. Aldus de PDF.
Zie tabel 3 en 4 uit de PDF.

De TitanX (snellere) is op dit moment voor zo'n 1400,- euro te koop. Met 12 GB G5X geheugen en Pascal architectuur. GTX SLI HB Bridge mogelijk.

De "normale" Titan die in deze test werd genoemd, heeft 6.1 GB geheugen met 250 Watt opgenomen vermogen en komt op rond de 1.000 euro.
 
De wedstrijd of de vergelijking, die in de PDF worden gemaakt, zijn op deze manier niet voor herhaling vatbaar. De Titan GPU is inmiddels links en rechts door nieuwere NVIDIA typen ingehaald, wat prestatie en prijs betreft. De gebruikte Xeon processor is fors in prijs (ca. 4.000,-) nog afgezien van het benodigde speciale moederbord en de voeding, die moet worden mee aangeschaft.
 

De gekozen Xeon CPU staat door de hoge prijs in geen enkele verhouding met een normale computer opzet met een processor met 4- of meer Cores en 1 of 2 snelle moderne NVIDIA grafische kaarten

 
 
Duidelijk een gevalletje van een semi wetenschappenlijk onderzoek, waarbij de conclusie van te voren al vast stond bij Intel. Verbazingwekkend de uitslag toch? Jawel, de CPU is vrijwel even snel als de GPU, maar zonder alle vervelende bijwerkingen en nog goedkoper ook . . . . dat is de vooraf bekokstoofde eindconclusie van deze PDF. Waarbij bewust is verzuimd om de hoge prijs van de Xeon processor en het moederbord in de test op te nemen.
 

Corona doet het op z'n internet pagina nog eens dunnetjes over om toch vooral hun CPU-gebaseerde render programma, ten koste van GPU-gebaseerde programma's op te hemelen

 
 

Naschrift

Corona brengt een goed cpu-gebaseerd renderprogramma op de markt. Waarbij in de promotie de kracht van de eigen software voorop zou moeten staan.
 
Corona staat als render programma zeker niet alleen, veel internetpagina's van collega's beweren ook van alles, zonder enige onderbouwing of bewijsvoering.
 
En het vervelende daarbij is dat ze door de importeur / vertegenwoordiger / dealer meestal klakkeloos worden overgenomen.
 
Ook het gebruik van werkstations boven de 13.000,- Euro en meer om YouTube video's te maken suggereren naar de klant toe, dat het render programma lekker snel werkt. Vermelding van gebruikte hardware blijft bewust achterwege.
 
Het is een fantastische Intel Xeon Phi serie, waarbij supersnel (indien alle cores door de software worden ondersteund) kan worden gerenderd. En Corona brengt een heel fraaie en leerzame database met alle processors, een pluim wat dat betreft.
 

naar boven