Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

konstantin magnus

  • Content count

  • Joined

  • Last visited

  • Days Won


Community Reputation

64 Excellent

About konstantin magnus

  • Rank

Contact Methods

  • Website URL http://www.konstantinmagnus.de

Personal Information

  • Name Konstantin
  • Location Stuttgart, Germany

Recent Profile Visitors

3,065 profile views
  1. You probably have to got to Opacity and turn on "enable opacity falloff". But you should rather try the new pbrglass shader, I think.
  2. Recommending an 18 hours chain of VEX wrangles for a beginner? Tough starting point, I´d say
  3. Then go through these, I'd say: https://www.youtube.com/watch?v=VTNrT-sAVu0&list=PLShEm1_z6_cyBOAKQSH2ck-enGSnovMjD http://www.gametutor.com/live/tutorials/houdini/
  4. If you connect all four outputs of the classic shader to the computelighting inputs, what are you missing?
  5. Ce is Emission and doesn`t belong in the surface color. If you are using physical based rendering, just connect the yellow BSDF ports. In case you are layering shaders, make sure to finish with layerunpack node and connect its F to the surface output. http://www.sidefx.com/docs/houdini/shade/build#generating-outputs
  6. Use a realtime engine like Unreal or Unity.
  7. After calculating their length, you can use a primwrangle on the lines. // user parameters float cut = chf('cut'); float change = chf('restlength'); // identify point positions int vtx_0 = primvertex(0, @primnum, 0); int vtx_1 = primvertex(0, @primnum, 1); int pt_0 = vertexpoint(0, vtx_0); int pt_1 = vertexpoint(0, vtx_1); vector pos_0 = point(0, "P", pt_0); vector pos_1 = point(0, "P", pt_1); // define slices based on user parameters @restlength = pow(@restlength, change); int slice = int( ceil(cut / @restlength) ); slice = max(slice, 2); // add new primitive with points and vertices int add_prim = addprim(0, "polyline"); for(int i = 0; i < slice; i++) { float mix = i / float(slice - 1); vector pos = lerp(pos_0, pos_1, mix); int add_pt = addpoint(0, pos); addvertex(0, add_prim, add_pt); } // remove the old primitives removeprim(0, @primnum, 1); counter_resample.hipnc
  8. For non-gray colors, you should vary the seed value for each color component, e.g: @Cd = set (random(@ptnum + 123),random(@ptnum + 456),random(@ptnum + 789));
  9. Create stretched noise based on UV coordinates to displace the surface (either shader or geometry based). A ramp node after the noise can help to further define the gills. Play around with different types of noise, too. gills.hipnc
  10. Put all point positions into an array and make parameter "t" slide e.g. from 0 to 1 inside a for loop. int steps = chi('steps'); vector all_points[]; resize(all_points, npoints(0)); for (int i = 0; i < npoints(0); i++){ all_points[i] = point(0, "P", i); } int prim = addprim(0, "polyline"); for(int i = 0; i < steps; i++){ float slide = i / float(steps - 1); vector pos = spline("catrom", slide, all_points); int inter_pt = addpoint(0, pos); addvertex(0, prim, inter_pt); } Also a simple function for interpolating 4 points to a curve by yourself would be: int steps = chi('steps'); vector pt0 = point(0, "P", 0); vector pt1 = point(0, "P", 1); vector pt2 = point(0, "P", 2); vector pt3 = point(0, "P", 3); int prim = addprim(0, "polyline"); for(int i = 0; i < steps; i++) { float slide = i / float(steps - 1); vector pos0 = lerp(pt0, pt1, slide); vector pos1 = lerp(pt2, pt3, slide); vector ipol = lerp(pos0, pos1, slide); int inter_pt = addpoint(0, ipol); addvertex(0, prim, inter_pt); } VEX_spline.hipnc
  11. Hi Max, I have set up a shader that reads in the luminance value and has a slider for the ranges. The more texture nodes you feed into the switch the more image variation you should get. BTW: I am still interested in a solution for dynamically creating strings in VOPs in this manner: "../location/filename_" + int fileNumber + ".jpg" Maybe someone could help out? image_tiles.hipnc
  12. Here is an approach by shifting UV tiles. That way you can use one image and assign different parts of it to your primitives. UV_tiles.hipnc
  13. any progress on this?
  14. There is a lookup node in COPs. It does not read *.spi1d files, though. Here are the tables: https://github.com/sobotka/filmic-blender
  15. Thank you! I will definitely go through this!