thoma.v Posted February 17, 2012 Share Posted February 17, 2012 Hi odforce community! I have heard about the awesome capabilities of Houdini for procedural geometry generation, particularly the creation of terrains. That´s a deep interest of mine and so i bought some courses at cmivfx to learn this great piece of sofware. I was impressed by the way how Houdini works and what could be done with a couple of nodes and expressions. When i did the tutorials about fractals i began to ask myself if i could go one step further and generate something like this. That´s the point where i miserably failed!!! My question for the experienced users is now this: Would it be possible to generate such detailed terrains and landscapes? I would be deeply thankful for all opinions and suggestions! Quote Link to comment Share on other sites More sharing options...
Netvudu Posted February 17, 2012 Share Posted February 17, 2012 (edited) When you said you failed miserably, could you be more specific about where did you fail exactly? Maybe we can help with that... Feature-wise I don´t see why you couldn´t create terrains as detailed as you might want... Edited February 17, 2012 by Netvudu Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted February 17, 2012 Share Posted February 17, 2012 When you said you failed miserably, could you be more specific He connects the Mountain SOP to another node and then.... Smoke and fire emits from the top of the computer case. Followed by a large explosion and pieces of motherboard parts fly across the room, while leaving a stunned look on his face which is covered with black soot as he wonders what just happen. Quote Link to comment Share on other sites More sharing options...
Macha Posted February 17, 2012 Share Posted February 17, 2012 (edited) Yes, you can do this in Houdini. If you want to create convincing procedural landscapes you need a good understanding of a) landscapes, b ) noise functions, and c) shader writing. There is nothing that will prevent you from such results in principle but there is no ready made solution in H out there, as far as I know. In my opinion though it would be an excellent thing to get into because it touches so many important fx areas. Edited February 17, 2012 by Macha 1 Quote Link to comment Share on other sites More sharing options...
thoma.v Posted February 18, 2012 Author Share Posted February 18, 2012 He connects the Mountain SOP to another node and then.... Smoke and fire emits from the top of the computer case. Followed by a large explosion and pieces of motherboard parts fly across the room, while leaving a stunned look on his face which is covered with black soot as he wonders what just happen. It´s not that dramatic and "miserably failed" was slightly overdone. To be honest, i am fairly satisfied with the result i have so far but these erosion-like patterns are kinda mystery for me. I have no clue how they could be generated in Houdini. Cheers, Thoma Quote Link to comment Share on other sites More sharing options...
thoma.v Posted February 19, 2012 Author Share Posted February 19, 2012 Over the weekend I have done further tests and I ended up by a general setup like this: 1. General shape and form: couple of noise functions inside a Vop-Sop for overall shape. Displacements for higher details 2. Height: it´s easy, I use $BBY in an Attribcreate-Sop and send it to Mantra for material-adjustments. 3. Curvature: Measure-Sop. 4. Slope: almost done! I still have some problems but I will get it. 5. Erosion and flow-patterns: I thought I could use a Pop-Network followed by a Trail-Sop but it seems that I can´t get the the right look with this setup and it´s not fully procedural as well. Ideally I would like to have some lines or points with attributes that I could use to drive material parameters in the shader. That´s what i have so far. What do you guys think? Should I keep going on that route or is that all utter bollocks. Crits and comments are welcome (particurarly for point 4 and 5). Cheers! Quote Link to comment Share on other sites More sharing options...
moondeer Posted February 20, 2012 Share Posted February 20, 2012 (edited) another approach is to use real maps. with a greyscale map to displace (depth map / elevation map / height map / relief map... etc) then use the color version of said map as the diffuse... all mapped on the a flat plane. or you can use the greyscale map to actually deform the plane a bit as done in the cmivfx lesson you ref. or you can use a combo. use the greyscale map to deform the geometry, a little, then also use it in the displacement channel to get the fine details at render. check this out. http://www.photoshoproadmap.com/Photoshop-blog/2006/07/17/rendering-a-map-using-relief-shading-technique-in-photoshop/ Edited February 20, 2012 by moondeer Quote Link to comment Share on other sites More sharing options...
petz Posted February 20, 2012 Share Posted February 20, 2012 Over the weekend I have done further tests and I ended up by a general setup like this: 1. General shape and form: couple of noise functions inside a Vop-Sop for overall shape. Displacements for higher details 2. Height: it´s easy, I use $BBY in an Attribcreate-Sop and send it to Mantra for material-adjustments. 3. Curvature: Measure-Sop. 4. Slope: almost done! I still have some problems but I will get it. 5. Erosion and flow-patterns: I thought I could use a Pop-Network followed by a Trail-Sop but it seems that I can´t get the the right look with this setup and it´s not fully procedural as well. Ideally I would like to have some lines or points with attributes that I could use to drive material parameters in the shader. That´s what i have so far. What do you guys think? Should I keep going on that route or is that all utter bollocks. Crits and comments are welcome (particurarly for point 4 and 5). Cheers! attached is one way. petz Quote Link to comment Share on other sites More sharing options...
petz Posted February 20, 2012 Share Posted February 20, 2012 attached is one way. petz mountain1.hipnc 2 Quote Link to comment Share on other sites More sharing options...
thoma.v Posted February 21, 2012 Author Share Posted February 21, 2012 Hey Mondeer! Thanks for the link Dude but I try to avoid external dependencies. I would really like to setup the system as much procedural as possible .... Cheers! Quote Link to comment Share on other sites More sharing options...
thoma.v Posted February 21, 2012 Author Share Posted February 21, 2012 Hey Petz, nice one! Brings me a major step closer to my ultimate goal. BUUUT another question arises. Maybe it a dump one, though, I´ll ask: On the sticky note in the file you mention the HDK. I did a search and found out that HDK is the Houdini-equivalent of Maya`s SDK. Is that correct? Would it be faster compared to the VEX-operater, and if yes, how much faster would it be? I have some experience with the Maya API and hopefully I can make use of this knowledge in Houdini. Are there any similarities? Hints, suggestions and examples are greatly appreciated. Cheers. Quote Link to comment Share on other sites More sharing options...
gaurav Posted February 22, 2012 Share Posted February 22, 2012 attached is one way. petz Wow! Petz Just amazing. Vector calculated under "Gradient of height" is really cool. Would you be able to shine some light on how the measure sop calculating scalar value for curvature. Or how would you go about finding in a single slope value for given point on surface ? -Cheers p.s. - Sorry thoma for interrupting the thread but i am also interested in learning more on the subject. You might already know about this book http://www.amazon.com/Texturing-Modeling-Third-Procedural-Approach/dp/1558608486/ref=dp_ob_title_bk I just ordered mine couple of days ago. Quote Link to comment Share on other sites More sharing options...
rdg Posted February 22, 2012 Share Posted February 22, 2012 @petz: pretty neat as usual! There's also a FlowFieldSOP in the proto_install tools: This custom SOP will move a primitive's vertices to follow the directionof a vector field. Not even sure if this is related. 1 Quote Link to comment Share on other sites More sharing options...
petz Posted February 22, 2012 Share Posted February 22, 2012 (edited) Hey Petz, nice one! Brings me a major step closer to my ultimate goal. BUUUT another question arises. Maybe it a dump one, though, I´ll ask: On the sticky note in the file you mention the HDK. I did a search and found out that HDK is the Houdini-equivalent of Maya`s SDK. Is that correct? Would it be faster compared to the VEX-operater, and if yes, how much faster would it be? I have some experience with the Maya API and hopefully I can make use of this knowledge in Houdini. Are there any similarities? Hints, suggestions and examples are greatly appreciated. Cheers. the hdk isn´t faster in general, its rather quite the opposite since vex is fully multithreaded and you don´t have to care about the threading by yourself. but for this particular example it should be faster. maya api and hdk are both cpp libraries afaik and so they are basically similar to some degree. probably the fastest solution is what rdg said! you just need to install the flowfield-sop before you can use it. @vectorblur actually its not really the gradient since i didn´t calculate any derivatives. its just named like that in the comments. hth. petz Edited February 22, 2012 by petz Quote Link to comment Share on other sites More sharing options...
Chris3D Posted February 22, 2012 Share Posted February 22, 2012 Good Day. Another excellent resource (free) is this link to the NVIDIA GPU GEMS Series: http://developer.nvidia.com/object/gpu-gems-3.html Chapter 1 is all about generating procedural terrains. Hope this helps... Quote Link to comment Share on other sites More sharing options...
thoma.v Posted February 22, 2012 Author Share Posted February 22, 2012 p.s. - Sorry thoma for interrupting the thread but i am also interested in learning more on the subject. You might already know about this book http://www.amazon.com/Texturing-Modeling-Third-Procedural-Approach/dp/1558608486/ref=dp_ob_title_bk I just ordered mine couple of days ago. Ha, ha, I know the book. Honestly, this book is the reason for my huge "Procedural Landscape, NPR-Rendering and Perlin-Noise" passion. Quote Link to comment Share on other sites More sharing options...
thoma.v Posted February 22, 2012 Author Share Posted February 22, 2012 @petz: pretty neat as usual! There's also a FlowFieldSOP in the proto_install tools: Not even sure if this is related. Hey Rdg, big thanks for the hint but how do I use this magic Sop? I did not find it in the help. Neither I could figure out how to install it. Cheers! Thoma. Quote Link to comment Share on other sites More sharing options...
thoma.v Posted February 22, 2012 Author Share Posted February 22, 2012 the hdk isn´t faster in general, its rather quite the opposite since vex is fully multithreaded and you don´t have to care about the threading by yourself. but for this particular example it should be faster. maya api and hdk are both cpp libraries afaik and so they are basically similar to some degree. probably the fastest solution is what rdg said! you just need to install the flowfield-sop before you can use it. @vectorblur actually its not really the gradient since i didn´t calculate any derivatives. its just named like that in the comments. hth. petz Hey Petz! If I understand you correctly then Houdini´s HDK is not multithreaded but VEX is? Why would HDK be faster then and why only in this example? Would you mind explaining the difference? Cheers Quote Link to comment Share on other sites More sharing options...
petz Posted February 22, 2012 Share Posted February 22, 2012 the difference is quite simple. with vex you can´t create geometry. that means you´ll need to generate all points in the first place and then use vex or vops to move them to the final position. since vex code is highly parallelized (simd) and the code runs on every point you are doing a lot of unnecessarily work. at least for generating the flowlines as in the file. in the attached file you´ll find a quick example for generating the same flowlines in various kinds - vex as done before, hdk using inlinecpp and the flowfield-sop. the hdk code is sparcely commented and cobbled together very roughly, so don´t take it as a reference. also the flowfield sop which was mentioned by rdg is used. IMPORTANT: the flowfield-sop needs to be installed and for the hdk you need a working compiler. hth. petz mountain_hdk1.hipnc 2 Quote Link to comment Share on other sites More sharing options...
thoma.v Posted February 23, 2012 Author Share Posted February 23, 2012 Thanks a million, Dude! Thats way more than expected (and hoped for)! I hardly dare to ask but anytime I try to run the HDK-Sop I get some weird command prompt windows popping up and the node indicates an error. I have installed Visual C Express but are there other important things I have to consider? Cheers Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.