Jump to content

L B

Members
  • Posts

    967
  • Joined

  • Last visited

Everything posted by L B

  1. L B

    Ivy

    I'm going to try generating ivy in Leadwerks, in real-time. The beauty of IV comes from its individual leaves, so I'm asking for some optimisation tips. Here is a beautiful ivy renderer: http://graphics.uni-.../ivy_generator/ Obviously this is not RT. I'm thinking I can harvest the power of Leadwerks instancing to achieve the result. 1 triangle per leaf is possible (with the right UV setup). The problem might be the massive amount of entities. How do you suggest I do that? Of course I can use billboards in the distance, but again, the entity count will be high. Perhaps I should avoid entites, but I don't know how. I don't need tips on the actual generation algorithms, I'm getting pretty good at this. Just on the performance aspect. EDIT: Actually, it's open-source, so I might just port it to Leadwerks. It's even allowed for commercial projects.
  2. Great. But let me complain about icons: Use one consistent set! The FatCow one I linked you has a Folder icon, and a Lightbulb icon. If you need other specific ones (e.g. 3D cube), ask an artist for help. I know a good hobbyist for this task, he probably won't charge a lot (<$100 for all your custom FatCow-like icon needs). I know he can work well with that set by experience. PM me if you want the details.
  3. Of course, if your employer requested the shader for a product, and stipulates in a signed contract and/or agreement with you that all works produced within X period, including shaders, are the company's intellectual property, then don't complain; it's normal that you can't release it. But that's rarely if ever the case for junior programming jobs. And considering LordHippo is 21, this one job probably is. Employers tend to be very loose on contracts, if even there is a contract. I developed, for example, a whole CMS for my employer, which I could legally resell. All I got from my employer was an informal email telling me not to do that, almost with a pretty please. Truth is, all that matters is legality. Employers, especially greedy and bad ones, tend to use intimidation and exploit the ignorance of junior employees in order to abuse their intellectual property or other work rights. But it's not legal, therefore it doesn't stand.
  4. "Now" being the keyword. This is developer abuse.
  5. Haha. Simple, hilarious and effective. Moreover, upload it to a reliable code directory like Google Code, so that the upload date can be trusted and grant you prior copyrighting. In any case, any original code you write is copyrighted to you, notice or not, unless you specify otherwise in a written manner (e. g. contract).
  6. Unless he can legally bind your code to his company by a contract, he may not stop you from publishing your code. Now, the legal part of this will hang in a couple of factors, all depending on said contract (if it exists), including whether you coded this on your work hours (assuming you're not doing freelance task-oriented work but workplace hours), whether this shader was requested for the product, etc. If he threatens to fire you or whatnot, without legal backup, you can contact work protection agencies in your area who will gladly support you in fighting back. Chances are that if he seems to feel threatened, he simply realized that you did a great shader and tries to take it from you, without that being in his right.
  7. Mmm... Leadwerks 3 + PolyVox + partial terrain models (as in CE2). Yummy future ahead, perhaps...
  8. I believe both systems are used: precaching nearby chunks, and using octree for outer cubes and drawing only outer faces. As to using octree to only display outer cubes, I think we'd have to play with more algorithms than are built-in Leadwerks. Besides, considering how Minecraft works, say you break an outer block, you want to load the one behind, and thus perhaps a preload of ~3 cube depth from the surface should be used. What do you think? As to drawing only outer faces, I can't say really. I'm far from knowing anything worthwhile in 3D render programming, but doesn't basic culling prevent from the GPU computing invisible (hidden by depth) faces? If it is so, there's no more algorithm to be added.
  9. Minecraft breaks in (XYZ) 32x128x32 chunks. 64 above surface and 64 below. I suspect the chunk you are in is "active", and probably even the 8 surrounding ones. That means 32x128x32x9=1 179 648 entities, if they're not air-filled (which IMO takes roughly 40% in Minecraft), so let's say about 700 000 cubes. 700K active cubes? IDK how to handle that. They're not fusioned because you're close from them, so modification would be costly. How do you think we could handle that? First, we could have 16x16x16 chunks, and we'd have 3x3x3 of them loaded at once (cubic area around us), so 16x16x16x3x3x3=110 592 active cubes. Times ~60% (assuming we have some 40% air, usually), 66 355 cubes. Say we have about 70K cubes to handle. Better than 700. The price for dropping to that was that we have to switch between prerendered versions and active versions more often as the player moves in the world. That might be costly, but might not as well. We'd have to test. Theoretically, if the loading time of up to 15 chunks (~40K cubes) (assuming you move diagonally on the X, Y, and Z axis at once) is smaller than the time taken to traverse a chunk, there is no problem, because surrounding chunks can be loaded faster than the player accesses them (hence the whole advantage of having surrounding chunks preloaded). Loading 15 chunks is the most extreme case. All other cases, when moving along the X, Y or Z axis of 1 chunk would require the load of 9 chunks (~25K cubes). Assuming 1 cube is 1 meter (as Minecraft handles it), and the player jogs at about ~10km/h, traversing a chunk of 16 meters (the minimum time, in a straight line), would take 5.75 seconds (let's say 6). This means that loading 25K cubes has to happen under 6 seconds. I think it's feasible. On another thread, it could happen seamlessly. If you walk in a diagonal, in which case we reach the 15 chunks case, you have to do a distance of about 28 meters, in a straight line. This would take about 10 seconds. This means we have to load 40K cubes in 10 seconds, again, I think it's possible on another thread. This means you have to load approximately 4K cubes per second. If Leadwerks 2 can do that, we're in business. in terms of polygons, this is 48K polygons per second, but I don't think this ratio is relevant. Polygons per second, lol. Remember though that cubes might sometimes be rounded (>12 polys). And can have some kind of props or other things.
  10. For many implementations I would want it on bright surfaces as well. If ever this is released, I'd be thrilled to know how to make it work regardless of the lighting amount. I'll ask again though, will it be released? It's truly incredible.
  11. He already gave one with diffuse off, I wanna see it on.
  12. Can you do a comparison shot of that model with LE2's default SSDO vs. your SSAO? Looks great, by the way.
  13. L B

    Model Tools

    That first buggy tearpot image is pure art.
  14. L B

    S-M-R-T

    Actually, S-M-A-T would fit the situation better: http://en.wikipedia.org/wiki/SMART_criteria
  15. L B

    Model Editor

    Here are some from Dexsoft packs I own: Diffuse: _diff, _DF, _col Normal: _nmap, Normal, N, _normal_map Specular: Spec, S Opacity: _OP, _Alpha Height (/Parallax): _H, H, _height_map
  16. We would be doomed. Skynet is nothing compared to iOS.
  17. That means I'll be the one maintaining the VS2010 C# project for .NET 4, I guess. But think of all the functions that have optional parameters in L3D. You can't have that with VS2008 C#. EDIT: You can make overloaded functions with less parameters, of course, but it's annoying, long and useless when you could use the proper technology.
  18. Dang. Should've seen this one coming.
  19. Ok, yes, we get your point: Developers might not be able to add the redist to an installer Users might not be able to correctly install said redist Now here's the counter-argument: Don't settle for old technologies, you'll be switching in 6 months anyway. And that's probably before the official release date of L3D, so it really might be worth considering. Also, did I mention C# and .NET 4 require VS2010? This means language improvements that C# coders have started using regularly, like optional parameters, that Leadwerks wouldn't support. And if you're worried about the installers, make a distribution guide or whatnot. An example NSIS script. It really can't be hard to figure out once and then put in the distro.
  20. Here's my grain of salt for VS2010: C# and .NET 4 require it. Period.
  21. Here's some attempt. Ignore the ugly header. Josh said this is too far from the IPB code so not viable, but I still like it. I wish Werkspace looked this clean.
  22. Web 2.0 is a marketing term. HTML5 is a technical term. @Josh: I guess it all falls within the radius of your rounded corner, heh?
  23. Bubbly is the style nowadays? No, bubbly is "Web 2.0" and all the buzz words you may associate with it. The web isn't glossy bubbles anymore, it evolved to be cleaner, flatter, and more content oriented. Look at the redesigns over at Google - Gmail, YouTube, G+, even Google itself. Look at Vimeo, Twitter. Show me the bubbles. I don't dislike the presented design, it's good, but if it's not modernized it won't last for as many years as you'd wish.
  24. L B

    Over the Hump

    I'll make them, if Josh agrees on the maintainability aspect.
×
×
  • Create New...