Message Boards Message Boards

rayshade 4mm version 11.0 released: Raytracing using Mathematica Front End

GROUPS:

See your Graphics3D beautifully rendered and Shown or Manipulated to right in your front end, without all the hardware and software (ie without Export to 3DStudio et al).

https://sourceforge.net/projects/rayshade-math/

(rendering it's slower but "better" Mathematica's GL/CL, rendering can produce astounding looks for some graphics, but rendering is not good for mapping and many other sciences. it's good for leisure certainly!)

For use with Mathematica 4.0 - 11.0. Makes file.ray or .pov that will look much like image in notebook except rendered in 3D using raytracing. Results Show in front-end. A few more Mathematica primitives supported but more-so all features do more of what Mathematica does, and with greater control. Also works with many Graphics (ie 2D pie charts) as well. However 11.0 is too big to comment on: many will work many not.

Raytracing can make images of some Graphics3D more realistic compared to even GL/CL/Cuda (game and geo/mapping accelerated 3D).

(3DStudio Art renderer or others are ostensibly upwardly better renderers than rayshade and povray, only the two free renderers are supported at this time)

POVRay is supported about as well.

For an amimation and a very few pics see:

http://community.wolfram.com/groups/-/m/t/1096001

enter image description here

https://sourceforge.net/projects/rayshade-math/

POSTED BY: John Hendrickson
Answer
3 days ago

Get tarball for rayshade` and (prefferably rayshade and or povray). Load the package.

<< rayshade`

Graphics3D[{EdgeForm[Black], 
   Table[With[{p = {i, j, k}/3}, {RGBColor[p], Opacity[.2], 
      Cuboid[p, p + .3]}], {i, 3}, {j, 3}, {k, 3}]}, Boxed -> False];

Rayshade[]

and it renders , give it options like "RayQuality->True, RaySize-> ..." and let it trace a long time, even watch updates while it renders

POSTED BY: John Hendrickson
Answer
3 days ago

If anyone has feedback on Export[ "foo.3ds", "3DS" ] (to external rendering program) or rendering in general, please say what you know! All I know is in the past years Export did not export many things - though I think it's improved?

POSTED BY: John Hendrickson
Answer
3 days ago

That's really neat! What primitives and directives are supported?

POSTED BY: Sander Huisman
Answer
3 days ago

thanks for the wait i was delayed.

What primitives and directives does rayshade-11.0 (ray4mm) support?

Directive[], GraphicsComplex[] is partly supported however by default Normal[g] is used so is not handled by Rayshade anyhow[], GraphicsGroup[], Graphics[3D], SurfaceGraphics[3D].

EdgeForm and CapForm when possible / appropriate for the following.

Cylinder, Tube, Line (with color averaged vertex) , Point (with color vertex), Polygon (with automatic tessellation if given normals), Cuboid, Sphere, Triangle (with normals), Disk, Circle, Rectangle (including support for Graphics inside rect region), Cone, InfinitePlane, Arrow, Dashing, Raster (with some Image support), Import (currently ImportRay and for rayshade out only), TranslateShape, AffineShape, RotateShape, Rotate, Translate (with copy instance per arg), Scale, GeometricTransformation (however, the transformations are not all tested yet), RGB, Hue, Lights, Lighting, Specularity, Opacity, Glow, EdgeForm, CapForm, JoinForm, PointSize, AbsoluteThickness, Thickness, Faceform (only allows None, else go by RGB et al), ClipPlanes, and many Graphics[3D] Options such as ViewVector, PlotRange, BoxRatios, AspectRation, Scaled, Offset, ...

Text[] with some caveats: but it works like Mathematica's for basic use by using 2-pass render.

Texture[] works with caveat: it currently has no (easy) way to specify exact texture offsetting, are applied automatically (planar, spherical, cylindrical).

There is no "2D Line", and linewidth is important everywhere for various Mathematica aspects: so for Line there are 3 line shapes, and 3 ways to select focus (2 for how big line are given distance, 1 for semi-constant width): and of course "user set function".

Graphics are some issue getting into 3D. Automatic step overlaying is done (and needs turned off at times). Rayshade[ Plot2D[ ...] ] the Plot2D must appear inside HoldRest of Rayshade[] so it can apply vertex scaling rather than squashing scene with Scale.

Lighting and Colors are bound to be different (will be close for some scenes, but need brightness adjustment on others).

There are many many Rayshade[,opts___] to control Rayshade[] when it isn't producing what is expected, and some custom features as well (I focus on non-customized features though).

It works on many plots but surely wont for many others: I like say Mathematica 11.0 is simply too immense to be commented upon.

POSTED BY: John Hendrickson
Answer
1 day ago

A next version is not planned soon. I think the most important improvements up next would be: exact texturing, consideration for renderers other than rayshade/povray, better applicability to Optics that is more forwardly Mathematic rather than leisure and presentation.

POSTED BY: John Hendrickson
Answer
1 day ago

Thank you very much. I will answer direct question later today gotta run. here's a graphic displayed two different color & lights used.

enter image description here

enter image description here

POSTED BY: John Hendrickson
Answer
3 days ago

Group Abstract Group Abstract