Instance Noodles update: Alpha 0.3 "Tonkotsu"

July 23, 2016 posted by: everyoneishappy Guest Post

New Noodles: Alpha 0.3 “Tonkotsu”

Get them here:

instance-noodlesbeta-contribution

Some new & improved nodes + bugfixes but the tasty new flavors are Noise & CSG implementations.

Noise

New textureless magic noise suite based largely on the great GLSL postings of http://briansharpe.wordpress.com/ to use in a shader see InstanceNoodles\nodes\modules\Common\NoodleNoise.fxh Of course there are nodes for people that don’t want to mess with shader code though.

Includes 2D and 3D Perlin, Simplex and Worley, all with single octave noise as well as FBM, Turbulence & Ridge flavors. Worley comes with various distance metrics & cell functions. To get an idea of the (many) Worley combinations here’s a nice reference: Worley Noises

image source: mines.lumpylumpy.com/Electronics/Computers/Software/Cpp/Graphics/Bitmap/Textures/Noise/

CSG

Constructive Solid Geometry finally… Realtime implementation using distance fields stored in 3D textures or ‘volumes’. Picture speaks a thousand words: CSG

As well as the standard Union, Intersection & Difference operations as pictured above, 16(!) other combination operations ported from the very sexy GLSL raymarch lib: http://mercury.sexy/hg_sdf/

New DX11.TextureFX nodes

  • Noise3D (DX11.TextureFX)

New Compute nodes

  • Noise2D (Value Buffer)
  • Noise3D (Value Buffer)
  • NoiseDerivs2D (Value Buffer)
  • NoiseDerivs3D (Value Buffer)
  • min (Value Buffer)
  • max (Value Buffer)
  • S+H (Vaule, 2D, 3D, 4D versions)
  • SumUp (Vaule Buffer)
  • Vector4DSplit (Vaule Buffer)
  • Normalize (3D Buffer)

New DX11.Geometry nodes

  • Kinect2GS (DX11.Geometry) kinect2 texture maps to mesh, with optional player filtering
  • SplineTrails (DX11.Geometry)
  • SplineBuffered (DX11.Geometry) now has ribbon mode
  • SDFtoMesh (DX11 Geometry) conversion of signed distance fields (as 3D texture) to mesh using marching cubes. This allows constructive solid geometry to be integrated with normal geometry pipeline

New DX11.Volume nodes (mostly for CSG ops)

  • CombineSDF (DX11.Volume)
  • BoxSDF (DX11.Volume)
  • SphereSDF (DX11.Volume)
  • TorusSDF (DX11.Volume)
  • CylinderSDF (DX11.Volume)
  • PrismSDF (DX11.Volume)
  • ExtrudeTextureSDF (DX11.Volume)
  • NoiseSDF (DX11.Volume)
  • Resize (DX11.Volume)

for fast peek at the results:

  • PreviewVolume (DX11.Layer)

Changed /fixed Nodes DX11.GeomFX modules now have max elements pin. Set to 0 by defualt, which will use the old automatic behavior, or any other positive number for manual setting

  • various small bug fixes that I’m too lazy to type.

Feel free to use in your creative & commercial projects, just please make sure to give credit as per license below. CCBY 2016 http://everyoneishappy.com

http://creativecommons.org/licenses/by/4.0/


Comments:

Comments are no longer accepted for this post.

mburk
23.07.2016 - 12:45
Wow..incredible stuff. Thanks so much for sharing!
tekcor
23.07.2016 - 15:53

wow big up for the work!!

CSG… how hard was that?

sinus
08.08.2016 - 10:33
thank you! works perfectly.
u7angel
23.07.2016 - 20:05
do you have a CSG demo patch ? cheers…
everyoneishappy
24.07.2016 - 03:39

@tekor well it’s a fairly naive implementation, you may find the resolution to be a limiting factor. But after playing with raymarching it was actually very easy to make.

@u7angel check help patches for combineSDF or SDFtoMesh. Basically you can keep combining primitives with the combine node in a chain.

sinus
24.07.2016 - 09:43
THANK YOU!!!!!
elektromeier
25.07.2016 - 19:32

hm, for some reasons csgs dont render. neither with previewvolume nor with SDFtoMesh. No red nodes, no error messages…

GPU is GTX 980 Ti

everyoneishappy
26.07.2016 - 00:54

@elektromeier Someone else had that, we worked out that they were not having shader uint types come up as pins in patch. I’m not sure what the fix is for that yet (are you using current DX11?), but as a workaround you can change uint to int. So for example in SphereSDF change

uint tranformCount, radCount, maxCount;

to

int tranformCount, radCount, maxCount;
elektromeier
26.07.2016 - 12:07

was not using the most recent dx11 pack. installing version 0.6.1-x64 from here directx11-nodes-alphabeta-contribution solved the issue.

thx kyle.

sinus
04.08.2016 - 09:55

thank you for this great update! sdfs! i´ve got problems: surface distortion shader throws error in line 71:…GET seems to be unknown.

downloaded the update twice to make sure: my fxh folder is empty. is this on purpose? shouldn´t the noise.fxh be in there?

allthebest, dd

everyoneishappy
04.08.2016 - 13:41

can change lines 71-73 to:

	uv0 = uvMode.Map(p0,0,0)*scale+offset;
	uv1 = uvMode.Map(p1,0,0)*scale+offset;
	uv2 = uvMode.Map(p2,0,0)*scale+offset;

fixed for next release, thanks.

Contact


Imprint

vvvv - Dießl & Gregor GbR
Oranienstrasse 10
10997 Berlin/Germany
VAT: DE275566955

groupӘvvvv.org

Follow us

Sign up for our Newsletter

Your subscription could not be saved. Please try again.
Your subscription has been successful.