Jump to content

Librarian

Members
  • Content count

    558
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won

    29

Librarian last won the day on May 16

Librarian had the most liked content!

Community Reputation

280 Excellent

About Librarian

  • Rank
    Houdini Master
  • Birthday 03/04/1976

Personal Information

  • Name
    Tesan Srdjan
  • Location
    Göteborg/Sarajevo

Recent Profile Visitors

7,378 profile views
  1. Creating procedural curves

    2 ways .Hope it Helps Cracks2.hipnc
  2. PI based force rotations.

    Maybe it Helps. mat.hipnc forces.hipnc
  3. maybe it Helps ...again sorry can't open your file I use 16.5 H vel.hipnc
  4. Abstracting a bunch of photos in TOPs

    Thanx Magnus
  5. Setting the edge color

    Maybe it Helps ..You can convert Later in your mat(vop) . Just play with that Colors.hipnc
  6. On Growth and Form

    Now those patterns gonna explore in music experimentos. FUn..too much Fun 022.mov
  7. Procedural Rose

    https://www.youtube.com/watch?v=z999hZnU04Y Nice Tips.
  8. That its just attribute transfer and some Play with Spiral and combining with this technique . Just having Fun.
  9. I started making a grass Pack

    Just make some path, so that grass has some Depth ..I like it
  10. Streaky Portal Effect [SOLVED]

    With this @IhabAli I think no need for velum shmelum and other stuff. I like this setup I can build (sky its A limit ) ..Here you have 3 different samplers (point clouds) and setup for Vop for having control over source shape and point that attract and do other crazy sh...HAve fun (here its like 15000 points Only ) // from spherical coordinates to cartesian coordinates // from tangent-space vector to world-space sample vector --------------------------------------------------------------------------------- float VanDerCorpus(int n; int base) { float invBase = 1.0f / float(base); float denom = 1.0f; float result = 0.0f; for(int i = 0; i < 32; ++i) { if(n > 0) { denom = float(n) % 2.0f; result += denom * invBase; invBase = invBase / 2.0f; n = int(float(n) / 2.0f); } } return result; } // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- vector2 HammersleyNoBitOps(int i; int N) { return set(float(i)/float(N), VanDerCorpus(i, 1)); } vector ImportanceSampleGGX(vector2 Xi;vector N;float roughness) { float a = roughness*roughness; float phi = 2.0 * PI * Xi.x; float cosTheta = sqrt((1.0 - Xi.y) / (1.0 + (a*a - 1.0) * Xi.y)); float sinTheta = sqrt(1.0 - cosTheta*cosTheta); // from spherical coordinates to cartesian coordinates vector H; H.x = cos(phi) * sinTheta; H.y = sin(phi) * sinTheta; H.z = cosTheta; // from tangent-space vector to world-space sample vector vector up = abs(N.z) < 0.999 ? set(0.0, 0.0, 1.0) : set(1.0, 0.0, 0.0); vector tangent = normalize(cross(up, N)); vector bitangent = cross(N, tangent); vector sampleVec = tangent * H.x + bitangent * H.y + N * H.z; return normalize(sampleVec); } int n = 596; for(int i=0;i<n;i++){ int test = i; vector2 xy = HammersleyNoBitOps(test,n); vector testNormal = chv("normal"); vector newpos = ImportanceSampleGGX(xy,testNormal, chf("roughtness")); addpoint(geoself(),newpos); } ------------------------------------------------------------------------------------------ 2 float r = chf("radius"); float u = chf("u"); float v = chf("v"); //float phi_max = rand(@ptnum*4) * 1.0f * PI; float phi_max = @ptnum*0.2 * 2.0f * PI; float theta_min = rand(@ptnum*1000); float theta_max = rand(@ptnum*500) * PI; float phi = u * phi_max; float theta = theta_min + v*( theta_max - theta_min); float x = r * sin(theta) * cos(phi); float y = r * sin(theta) * sin(phi); float z = r * cos(theta); @P.x = x; @P.y = y; @P.z = z; ------------------------------------------------------------------------------------------------- 3 ------------------------------------------------------------------------------------------- float llerp(float a;float b;float f) { return a + f * (b - a); } int nsamples = 1604; for (int i = 0; i < nsamples; ++i) { vector sample = set( rand(i)* 2.0 - 1.0, rand(i*51400) * 2.0 - 1.0, rand(i*5024713)); sample = normalize(sample); sample *= rand(i*50723); float scale = float(i) / float(nsamples); scale = lerp(0.1f, 1.0f, scale * scale); sample *= scale; addpoint(geoself(),sample); }
  11. Abstracting a bunch of photos in TOPs

    It works on Houdini 16.5 perfectly
  12. I Have this In mine Collection Maybe you can just rewrite to (Wrangle ) . Hope it Helps. breaking_wave.hipnc
  13. Constraining DOF of Bones in IK

    @Rahul Girish screenshots ?
  14. Streaky Portal Effect [SOLVED]

    Share first your file ... it's clear that everyone in this topic should share files now... @IhabAli
×