Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by malexander

  1. Deep Raster Problem

    If you do end up with a few holes, you could use a Median filter (Median Cop) to remove the specks. But your image shows large bands of 'bad' depths, so you'd still be stuck with those. If all else fails, try rendering out your scene as a Z map only, minus reflections and anything fancy, and see if the artifacts are still there.
  2. By The Lake.

    Talking about DOF in compositing, I'd recommend using the DOF Cop with the Defocus Cop. Set the option 'Per Pixel Defocus' in defocus. It looks a little nicer, and it's actually a bit faster. Your render times will also drop, which is always good.
  3. Morpning

    The only way of getting at the rotoshape CVs is through ch() expressions. The channels involved are: numcurves - total # of curves c[index]numpoints - total # of points in curve 'index' (index starts at 1) c[index]pnt[p] - point 'p' of curve 'index' (X,Y) However, it would be quite a chore to get this information into VOPs, since it's all variable, and would have to be done in loops somehow. I can't think of any way to do it offhand.
  4. PPU what does this mean to simulation?

    It means you have to buy yet another PCI-E card to run a bunch of future programs At 130 million transistors, able to handle 30000 RBD objects and deal with collision detection in hardware, it sounds as or more complex than a graphics card GPU. But just how it fits into a system has me a little baffled; because it has its own API (like OpenGL for physics), this means that a software package (like, say, Houdini) would need to support that API *and* have its own physics API, for those users that don't have the card or chip in their system. As a developer, doing twice the work isn't very desirable. And hardware APIs have this way of being limited by the hardware specs, somewhat limiting their usefulness (as an example, the latest OpenGL drivers *still* don't support non-power of 2 textures, making image processing via the GPU a pain). That being said, handling 30000 RBD objects is great, but how complex can each object be? Do they have to be made up of tris? Quads? Or is a tri an object? What simulation parameters can you adjust (bounciness, gravity, etc). Does it support deforming RBD geo? How finely can it sub-sample? It sounds great on paper, but the details are so scant that it's really hard to tell how powerful the unit actually is. It sounds like it's targeted towards games (or marketing departments), so I'd be surprised if it could do RBD like most of us would expect. "Whitepapers" like this always make me a little nervous. Lots of hype, no specs... suddenly people seem to expect that your app should run 100's of times faster. Many poeple don't understand the hardware's limitations (because the press releases rarely mention them) and come to blame your app instead. I'll be curious to see how long the "PPU" lasts, or to at least see a decent spec sheet Personally, I'd rather have dozens more SSE registers, better SSE vector/matrix math support and better SSE compiler support - sort of like what Motorola has done with Altivec - rather than yet another hardware processor & API.
  5. fetch chop

    On the 'Channel' page of the Fetch CHOP, there's a parm named 'Channel Range'. Set this to "Use Start/End", and enter the Start & End range of your animation (by default, in seconds; Common page - Units parm to change to frames). This will fetch that range instead of the one frame the expression happens to be at.
  6. Morpning

    No *easy* way, no... To properly do morphing, you need a good set of interactive tools, so any VEX/VOP solution would be very cumbersome.
  7. Non-IFD Rop Driver?

    Yep, there's nothing too magical about ROPs All the sequencing work is done by ROP_Node, so all you really need to do fill in the blanks (startRender/renderFrame/endRender) to output your data. The only other thing you may want is the Render button/Frame Range controls. You can build that into your own template list using the fragment: void newDriverOperator(OP_OperatorTable *table) { OP_VariablePair *vp = new OP_VariablePair(ROP_Node::myVariableList); OP_TemplatePair *tp1 = new OP_TemplatePair(ROP_MyDriver::myTemplateList); OP_TemplatePair *tp = new OP_TemplatePair(ROP_Node::getROPbaseTemplate(), tp1); table->addOperator(new OP_Operator("mydriver", "MyDriver", ROP_MyDriver::myConstructor, tp, 0, 0, vp, OP_FLAG_GENERATOR)); } (please excuse any type-os)
  8. Non-IFD Rop Driver?

    The model for a ROP is fairly simple; it uses 3 basic methods: virtual int startRender(int nframes, float tstart, float tend); virtual ROP_RENDER_CODE renderFrame(float time, UT_Interrupt *boss); virtual ROP_RENDER_CODE endRender(); startRender() is called before any frames are rendered; it will let you know how many frames are about to be rendered, the start time and the end time. Return 1 if you can proceed with the render, 0 for failure. renderFrame() is where you do the output work for a given frame. (boss is usually null, if you want to put interruption queries in your code, use UTgetInterrupt()). The render code return value determines how to proceed: ROP_ABORT_RENDER (stop rendering now), ROP_CONTINUE_RENDER (go onto the next frame) or ROP_RETRY_RENDER (redo this frame again). endRender() is called when all the frames are finished, allowing you to cleanup and free any resources. After that, ROPs are fairly similar to other OPs - you'll want to evaluate your parms & determine what to write out. I know this is a bit vague, but there's really no restrictions on what you can do inside a ROP renderFrame() method, so it's a little hard to tell you what to do next.
  9. obj info into chops

    The two inputs are optional. They allow you to compare an object with a set of transform channels (t*,r*,s*,p*), or to compare two sets of transform channels together. Usually, though, it's used to compare 2 objects' transforms.
  10. Hashes and Caching

    You can use a UT_TokenString & OP_Node::getHashCode() to get a very unique description of parameters set on a node & its descendents (or, OP_Node::getParmHashCode() for just that node). They can get rather large depending on the network size, however they're heavily optimized for both space and comparison time. COPs uses them for its smart caching. Since a UT_TokenString has an 'int getHashCode()' method, as well as operator==() and operator=(), it would be pretty easy to make a UT_HashTokenString class. Might solve half your problem
  11. Non Linear Animation

    The CHOPs tutorials from 4.0 should still work fine, for the most part. CHOPs hasn't changed all that much since then, so 90% of the CHOPs tutorials should work as advertised. There may be slightly easier ways to do certain things now, though.
  12. Gelato is a renderer that uses an Nvidia QuadroFX to do some of the rendering calculations. The QuadroFX doesn't render the scene in hardware, it just helps the CPU with parallel computation. It was designed by Nvidia, and the chief architect is Larry Gritz (so it can't be that bad ). There's a plugin for both Maya and 3D Max, and also a RIB stream converter (which you'd probably use with Houdini). You need a QuadroFX 700 or higher. Apparently Frantic Films has incorporated it into their pipeline for an upcoming film (Frantic Film story). There's more technical information at Nvidia's site, as well. (Nvidia Gelato)
  13. You can call 'float FSTART()' and float 'FEND()' to get the start/end frames. To see if the user has turned on frame range rendering, call 'int DORANGE()' to see if the toggle is enabled. (See ROP_Node.h)
  14. Can you trigger an opscript...

    You can use a Math CHOP to subtract 'X' from the channel, and then pipe that into a Logic CHOP. The logic CHOP converts the channels to binary (0/1, on/off), and by default anything greater than zero is a '1', otherwise it's '0'. So by subtracting X from the channel, you're essentially programming in the v > X expression. A logic CHOP has 4 script parms for different conditions: - when a 0-1 transistion occurs (off->on) - when a 1-0 transistion occurs (on->off) - when 1 (on) - when 0 (off) It sounds like you'll want to use 'Off to on'. Incidently, in order for the script to be executed, the logic CHOP must be cooked - so you'll need to setup a dummy chopf() expression in another op which does cook to get logic to cook.
  15. linking COPS to SOPS network

    You could make an COP OTL to render a shop on a shader ball. 1) in the COP subnet, add a Render COP, a ROPNET with a mantra output driver, and an Object Network. 2) The Object network would contain a camera, one or two lights and one geo object. 3) In the Geo object, add a sphere w/ a UV Texture and Shader SOP attached, with the Shader SOP referencing a Shop (which would be linked as a parameter to the OTL). 4) In the mantra driver in the ROPNet, set the relative path to the camera in the Object network. 5) In the Render COP, set relative path to the mantra driver in the ROPNet 6) Create an OTL from the COP subnet containing everything, and link a parm from the Shader SOP's shader path parm. And you should be good to go If you wanted to be fancy, you could modify the SOP network with a Switch SOP to switch between a sphere, torus, cylinder and a grid and link that as a menu parm in the OTL. EDIT > Except that mantra doesn't seem to like rendering Object networks that aren't /obj
  16. linking COPS to SOPS network

    You can link a COP to a SHOP by adding the 'filename': op:/img/img1/output_cop The op: references a Houdini path, rather than a disk path (/img refers to COPs, img1 is the default copnet, output_cop is the name of the cop to fetch from). You can also extend a short sequence using the Extend COP. For example, to loop a sequence of 10 frames (1-10), set 'Extend After' to 10000 (or some very high number) and change the 'Hold' to 'Cycle'. I think the biggest problem you'd run into is that the op: syntax always fetches the image at the current time; so if you wanted a different image for each little frame on your cassette, this may not be a good solution.
  17. EA lawsuit

    I love what I do. So I can see how people who feel the same way can get caught in that situation, kept hopeful by their passion for the work, promises and the hope that things might change. I guess at some point you have to draw a line in the sand and leave when you cross it. Always sad to hear of people being exploited, highly skilled or not. It'll be interesting to see what happens with the EA case, and if it has any long term effect (the cynical part of me says "nope").
  18. Houdini 7 instability on WinXp Pro

    If you're using apprentice, mantra will only use 1 CPU to render (appr restriction). If you only have 1 CPU with HT, then honestly, you're not missing out on much at all (maybe a ~10% speed improvement). HT isn't nearly as wonderous as Intel is touting, though it does help out a bit sometimes. If you're not using apprentice, then I have no idea
  19. Games... I dunno...

    Old Quake 3 Arena players that stood too close when firing, I guess They're irritating, since all the hit detection is done per-poly - and they don't need to be terribly precise in return. A good defense tactic, not having skin... I will be very interested to see the games that come out based on the Doom3 engine (and there are several in the works). Id has a history of making so-so single player games with engines that have powered some truly great games. Though I must say Q3:Arena provided months of fun (before I draw down upon me torrids of flames).
  20. Games... I dunno...

    I loved Far Cry, both from a graphical and gameplay standpoint. The sheer amount of polys and textures rendered on the screen just dropped my jaw (and, they just look so good). The water shoreline effect (on "Very High") actually shows water rolling in and out, complete with foam. No fancy shaders, just textures, but very effective. Almost makes you want to stop and pitch a chair & cooler on the beach. The facial animation on the characters is just laughable, though. The character animinations themselves are about average for a game, though there's lots of little touches that aren't overused like most "unique" animations are (a guard smacking a fly, fishing or having a smoke - in fact, they're so underused that it's easy to play the entire game and not see one). Star Wars: Knights of the Old Republic was a great return to those older adventure games, though it's a bit slow in the beginning and it took me a while to get used to the controls. The facial animations here were some of the best that I've seen in a 3D game, but it's been a while since I've played it, so they could be downright crappy by now. Doom3: I found Doom3 to get repetitive pretty quickly after the opening sequence (which was very well done). Wall into dark room, monsters jump out at you; dispatch, turn around & shoot the one sneaking up behind you, continue (and it's not very difficult on the default setting - I'm about 5 levels in and haven't died once). At least it's faithful to the old Doom! Everything's either metallic or wet-organic in that game, so it's extremely bump map and specular-heavy. It's the sort of game that screenshots don't do justice - a lot of the effects just can't be captured in still very well (heat haze, eerie fog, realtime moving shadows). If they ever post a demo, it's worth taking a look at.
  21. Doom 3

    Not a bad mod at all -- just make sure you install once you've reached the beginning of a new level, otherwise it starts you back at the beginning of the level. Also, some people are reporting that modifying certain parms in the base/DoomConfig.cfg file can speed up performance quite nicely: seta image_useCache "1" seta image_cacheMegs "96" seta image_cacheMinK "3072" (make a backup first, of course )
  22. Siggraph 2004 - Report

    Rscript is a version of hscript entirely for rendering and IFD generation (less expensive than an hscript license).
  23. Siggraph 2004 - Report

    Correct, except that: RScript isn't included with Hescape. 3rd party rendering - an extra option for HEscape HDK - free, community supported product. It does include modeling, rigging, animation, Digital Assets, shading, lighting & mantra support. Which is pretty good, IMO
  24. Help with Houdini!

    That's a pretty low-end video card you've got, and it may be causing some problems. Try using software OpenGL and see if that at least gets you up & running. 1) Open the control panel (Start->Settings->Control Panel) 2) Click on System, switch to the 'Advanced tab' 3) select 'Environment Variables' 4) under 'User Variables', hit 'New'. 5) Type in a Variable name of HOUDINI_OGL_SOFTWARE with a value of 1 6) Click all the Ok's and Apply's and it should be set. Now Houdini will run without any 3D hardware support, which means it might be really slow. You will need to restart any running Houdini's to switch to software mode. If this doesn't help, be sure to remove the HOUIDINI_OGL_SOFTWARE variable (do steps 1-4, then highlight HOUDINI_OGL_SOFTWARE in the list & Delete)
  25. Doom 3

    Very pretty. And Very scary. A little annoying that in the 22nd century, though there's teleportation, plasma guns and colonies on Mars, there's no duct tape around to stick the flashlight to your gun (or low-light goggles lying about). Fighting foes who unerringly hit and follow you in the dark when you have to constantly switch between the flashlight & a gun is a little frustrating at some points. I think they could have allowed both, at least with the pistol (so that it's actually useful), and kept the mood intact (the flashlight doesn't show you *that* much) Graphically, the lighting and shadowing are practically tech demos in themselves. Specular highlights, volumetric shadows, nice shader effects - it's all there. And tons of 3D artwork just sitting off to the sides in the most mundane of areas. However, it's the audio that takes the cake for me - it completely sets the mood. Creepy, panicky and downright evil. Overall I'm still more impressed with Far Cry - maybe I like tropical islands better than dingy, tech-filled hallways right out of Aliens. Or maybe it's the fact that you can actually see most of the graphics in that game But I'd recommend it for the sheer experience, if you've got the system to pull it off.