Skybox reflection to 3dModel heightmap

Dante's icon

Hi all,

I'm trying to simulate the reflection of a Skybox onto a 3dModel's heightmap and have some basic controls over depth. I've looked at the gl.pix object in the gl.materials heightmap section and some old forum patches, but still no luck.

Thanks for any info anyone can give me and congrats on Max8 !!!

HeightMapTEST1.maxpat
Max Patch

Rob Ramirez's icon

does the jit.gl.skybox helpfile not demonstrate exactly this using the environment texture input to jit.gl.material?

Dante's icon

Yes, but what i'm looking for is closer to the jit.gl.material heightmap section, specifically the brick heightmaps and normals. Worded another way, is it possible to have the reflection on the model extruded?

Rob Ramirez's icon

well, combining those two help files seems to work as expected:

Max Patch
Copy patch and select New From Clipboard in Max.

Dante's icon

So If I wanted the extrusion (term?) to occur from the reflected environment I would have to make a normal and heightmap of said cubemap file?

Is there a way to do this in gl.pix so that as the skybox is rotated the reflection/ extrusion move over the model?

Thank you Rob!!

Rob Ramirez's icon

oh I finally get what you are asking. yes that is significantly more complicated and would require writing a custom shader to handle the extrusion and environment mapping in place of the jit.gl.material.

Dante's icon

yes! My apologies i have a hard time translating visual descriptions into GLSL terminology 😅

Dante's icon

Still looking for help on this. I'm looking at a helpful AMS Tutorial, but can't seem to get the shader past the basic noise and to do the extrusion, even though I think i copied it perfectly. (also bypassing the ShaderEditor external cus I couldn't get that to work either)
I thought if I could understand this shader i could twist it into what I want.

ShaderEditR.maxpat
Max Patch
simple patch

dispShader.jxs
jxs 1.95 KB
messed up shader

Dante's icon

Ok so I found a work-around that was easier than learning GLSL (one day ) 😳

Although I'm curious about how to control the intensity of the texture going into heightmap inlet and normals inlet of gl.material.

Is there a way to multiply the heightmap (or normals) input with gl.pix? (the way [jit.op *] is used in the gl.material helpfile?

Max Patch
Copy patch and select New From Clipboard in Max.