Jump to content

Search the Community

Showing results for tags 'vex'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Lounge/General chat
    • Education
    • Jobs
    • Marketplace
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
    • Tools (HDA's etc.)
  • Coders Corner
    • HDK : Houdini Development Kit
    • Scripting
    • Shaders
  • Art and Challenges
    • Finished Work
    • Work in Progress
    • VFX Challenge
    • Effects Challenge Archive
  • Systems and Other Applications
    • Other 3d Packages
    • Operating Systems
    • Hardware
    • Pipeline
  • od|force
    • Feedback, Suggestions, Bugs

Found 457 results

  1. With 5 scattered points in group A, and 5 scattered points in group B, what is the furthest point in group B from group A, not as an average, but the individually furthest point? Sounded like an easy problem but I'm spinning wheels here. I would really appreciate some help/teachings.
  2. Hi. How could I convert primitive group name to a string attribute? I have few groups - group _01/02/03/.... and I just want to get numbers to use them as integers in vex, just to apply random color. int group_number = opdigits(@name); @Cd = set(rand(group_number), rand(group_number*1502), rand(group_number/1560)); Doing it with the name SOP, but what is the way of doing that in vex? Thank you Cheers Janis
  3. Hi all I'm currently using VEX to do some scripting, I was just wondering what the difference between these two functions 'npoints()' & 'point()' were?
  4. Poly Carve SOP

    http://www.patreon.com/posts/31506335 Carves out polygons using a point attribute with the ability to define the carve values per primitive using primitive attributes. Pure VEX implementation, 10x faster than the default Carve SOP (compiled). It preserves all available attributes. It supports both open and closed polygons.
  5. Hi, I am specialized in Houdini FX, Simulations (flip, pyro, RBD Bullet), VEX and Python scripting also a good experience in lighting and compositing. Currently based in Shenzhen, China. you can checkout my vimeo for my work and contact me on LinkedIn. Available for freelance Houdini FX work (Remote work) and Houdini pipeline development (Remote work) Thanks, Mahesh MS. vimeo: https://vimeo.com/maxcolor/ LinkedIn: https://www.linkedin.com/in/maxcolor/ email: msmahesh@live.com
  6. offset grid randomly edges with vex

    I'd like to move (with vex )randomly edges of single row grid any idea ? thanks hdni_offset_edges.hiplc
  7. Hello guys; I want to read value of a parameter of a SOP node, inside a wrangle. Is it possible? Thanks.
  8. Hello everyone! I'm trying to make kind of greeble tool, but i want cuts to be strict horizontaly. It's looks fine when i do one pass [], but with more then one iteration it gets really weird[]. And i assume why it does that - because it doesn't know where to make correct verticies, so that points can connect, but i don't really know how to solve. Anyone have an idead ? UPD: I figured it out, but i would still love to hear your ideas
  9. normalize in vex and vop

    Hi, sorry about the silly question, I'm a beginner. NORMALIZE in vops, what it is used for, I saw many times in tutorials people using, but, nobody explaining about it... what it differs from the clamp node?
  10. Hello guys, I try to implement the thin sheet feature (from this paper : http://www.cs.kent.edu/~zwang/schedule/zy11.pdf) but I'm stuck on this : How can I implement this, or translate this into vex ? I'm not sure if it's working with the grids and I should try to code it in a volume wrangle but I really don't know how I have to implement it. I tried this in a point wrangle (in a sop solver) : int pts[]; float kernel_result[]; pts = pcfind(0, "P", @P, ch("search_radius"), chi("search_count")); for(int i = 1; i < len(pts); i++){ vector pos1 = point(0, "P", pts[0]); vector pos2 = point(0, "P", pts[i]); float radius_mult = ch("radius_multiplier"); float radius = @pscale * radius_mult; float sum = (1 - pow(length(pos2 - pos1), 2) / pow(radius, 2)); if(0 <= length(sum) <= radius){ float result = sum; } else{ float result = 0; } append(kernel_result, result); } I'm sure it's not good and it's why I'm asking help ! If anyone here can help it would be much appreciated !! Cheers,
  11. Hi, Probably easy question, but what would be the way to make this vex code shorter and work for more @id`s, so I don`t have to copy the same line of code multiple times? if(@fid == 0) i@group_fid0 = 1; if(@fid == 1) i@group_fid1 = 1; if(@fid == 2) i@group_fid2 = 1; if(@fid == 3) i@group_fid3 = 1; I basically want to make a group for all primitives with same id. I`m guessing it can be done using arrays, but I`m not too good with them. Thanks Janis
  12. I need to fill 5 Edged Closed Primitive. But HOW???
  13. Rotation matrix pivot point

    The rotation of each point occurs around the origin: matrix3 matrx = ident(); vector axis = {1, 0, 0}; float angle = 256; rotate ( matrx, angle, axis); @P *= matrx; How to define coordinates for rotation different from the origin?
  14. if in list (vex)

    Hello how can I query if an element is in a list or not? in python is " if element in list: " thanks you.
  15. step function from glsl

    Hi everyone! In GLSL they use this function called "step" that generates a step function by comparing two values. Is there any alternatives in vex ?
  16. Hello, I'm trying to access a microsolver in the Dopnet. I would like to get e.g the disturbance parameter of the disturbance node, which has the parameter name: "dist_scale". With a Gasfieldwrangle node I can access e.g @vel, @density.. basically attributes.. which is working fine if I am changing them. But if I want to access the parameter and try to change it, nothing happens. I tried it with @dist_scale or relative/absolute channel reference. Thanks!
  17. Fractal Flame

    Trying to recreate Scott Draves' algorithm in Houdini with VEX:
  18. Curl Noise functions in voplib.h

    Ahoy there!!! A quick question... I'm writing VEX noise functions but is a bit confused with Curl Noise functions. It's not like that I didnt get it. Of course I get it but is stuck in this weird functions in voplib.h. Here's what I'm stuck with.... Down below is the Code. why is xDiffNoise yDiffNoise and zDiffNoise there anyways. I couldnt find a function that's making use of it. Maybe I'm missing some. But please somebody explain it to me. Just to say... I'm writing a Curl Vex Function with all the Noise options. Thanks. noisevec = onoise(pos*freq - offset, turb, rough, atten) * amp; xDiffNoise = onoise(xDiff*freq - offset, turb, rough, atten) * amp; yDiffNoise = onoise(yDiff*freq - offset, turb, rough, atten) * amp; zDiffNoise = onoise(zDiff*freq - offset, turb, rough, atten) * amp;
  19. Hi guys! I have a problem that's been bothering me for a couple of days and I can't seem to wrap my head around to solve: I have a grid, with scattered points. And I have 3 objects hovering above the grid. With a colour shift on the grid (attribute transfer with an animated ball for now), I "activate" the points in a pop network, and I start adding forces on them, choreographing them, until they reach a certain age and start to move to the 3 objects above, like an attraction (point count is the same in both inputs for simplicity - also I have colour grouped which particles belong to which object for visualisation purposes). So far so good. The problem is that in theory, each $id should correspond in each point on the objects above - but alas, they seem to shift groups! So, instead of clean motion / attraction on each of the objects after a specific time, I get more of a random mass of particles moving back and forth the objects until the end where they stick on the objects. There sure is something wrong with my vex, but I cannot understand what! It should be easy: green goes to green, blue to blue and red to red.. Attached are some images to help understand the problem. the viewport describing the problem: the pop hierarchy: the wrangle to move the points to position after a certain amount of time in the "time_in_release": If anybody has any idea as to why this is happening, please, feel free to share! I would be more than grateful to hear your thoughts! Thank you so much for your time, G.
  20. I'm probably doing something really simple and stupid here, but I can't for the life of me figure it out. I'm just trying to test out reading/writing attributes in vex, but it seems like I can't read a value out in the same node that I write it, which seems insane. Here is the test code I'm using: i@test_value = 1; int check_success = 0; i@get_value = primattrib(0, "test_value", @primnum, check_success); i@success = check_success; After this code runs, here are the values: @test_value = 1 @get_value = 0; @success = 0; So... even though I have literally just written the value into the 'test_value' attribute, I can't read it out. I noticed however that if I move the last three lines of code to another wrangle, then it works. For this tiny example, that would be fine, but for the larger piece of code I'm working with, I need to be able to write a value to an attribute in one part of the code, and then check what that value is in another part. What's going on here? Is this a bug, or a limitation of VEX?
  21. Finding the Min/Max values in a field?

    I am trying to figure out how to get the converse of a field, mathematically. I am attempting to blur a Cd field in using a Gas Blur microsolver. I have some mixed results, but I want to get some finer control over the radius, namely that I want it to blur more as it slows down. I have used the gas analysis microsolver to get the speed field by taking the length of the velocity, but I can't figure out how to get larger values to be in the lower speed areas. Obviously I would love to use a fit to invert the values, but I am struggling with an elegant way to get the minimum and maximum values for a given field. I could easily just do a loop in a wrangle and get the min/max values that way, but that is going to be extremely slow as this is a very large, dense simulation. Is there a simple way I can get the min/max values in a field so I can use fit(@speed, min, max, max, min) in a Gas Field Wrangle node to get the converse of my field?
  22. Hi guys. I recently wacthed Fifty50 tutorial making a infection effect and now I'm trying to mesh the points but I couldn't achieve a better quality result. Btw I'm pretty new to houdini :{ My currently setup after points is Volume Rasterize Attributes> Vdb Smooth> ConvertVdb to polygons. Are there a better way to mesh those points? hip file attached, thank you in advance guys. RnD_Infection.v01.hip 001_Pedestal_high_poly.FBX
  23. Pointers and struct children in vex

    Hi there, I am trying to define the shape of lightning using vex in a wrangle sop A lightning path has forks that split from any given path, creating other paths with almost identical properties to the main path. To that end I created a path struct but I can't figure out how to get it to store its 'forks'. The same issue would arise if I instead stored the parents instead of the children. I am defining a path of lightning as so: struct lPath { lPoint source; lPoint sink; float energy; lPath forks[]; void setSource(lPoint newSource) { source=newSource; } void setSink(lPoint newSink) { sink=newSink; } void setEnergy(float newEnergy) { energy=newEnergy; } void create() { addprim(0,"polyline",source.num,sink.num); } } my issue is that I can't include a reference to itself due to infinite recursion, which is why in c++ I would use a reference lPath * forks[]; Is there any way to solve this using vex? Kind Regards George
  24. Sierpiński triangle with VEX

    Hi guys. How you would go about creating Sierpiński triangle with VEX? I've tried to do it myself, but failed. I've only started learning VEX, before i was only doing basic stuff with it.
  25. Hey! Does anyone know how I might be able to access the GDP of the wrangle from which my VEX command is running? I'm trying to make a VEX command kinda like nearpoint(int geomInput, vector2 P), which takes in an input index and can access the GDP of that input. I see GU_VexGeoInputs(), and VEX_GeoCommand, and a few others ... they're all i think close to the answer, but I haven't been able to crack this one yet. Anyone has any pointers to share? Thanks, Dhruva
×