tag:blogger.com,1999:blog-3779956188045272690.post2426317648958378405..comments2024-03-22T01:46:59.425-04:00Comments on Procedural World: Lean TreesMiguel Ceperohttp://www.blogger.com/profile/17586513342346629237noreply@blogger.comBlogger19125tag:blogger.com,1999:blog-3779956188045272690.post-34698674554684068652014-03-12T16:56:31.836-04:002014-03-12T16:56:31.836-04:00This is a bit of a long shot, but after reading yo...This is a bit of a long shot, but after reading your 'voxels-to-polygons' post, I can't help feeling there's some way of storing sub-voxel position information in the normal of a voxel. Let's say that the normal for a voxel is essentially a 3-float point with a length of 1, that would store the position of the face for that voxel. In a situation where that voxel is 10% full and the neighbours are empty then you have a small blob in that voxel space, you could use the normal to offset the position of the blob by using the normal as the direction of the offset, and the normal's length as the amplitude of the offset. You've then got the problem of connecting the offset blobs vertically for trunks, but not horizontally to neighbouring trees and I can't see a good way around that right now, other that storing some sort of matrix-like information in one of the values...Anonymoushttps://www.blogger.com/profile/08958410166892985999noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-91752665850589248432013-08-11T09:50:06.609-04:002013-08-11T09:50:06.609-04:00Will we ever see voxels made of materials with dif...Will we ever see voxels made of materials with different characteristics which would let trees to break like trees and metal to bend instead being crushed (or even material which is elastic, etc)?<br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-78706074094298389922013-08-05T04:04:41.384-04:002013-08-05T04:04:41.384-04:00I second this !
Miguel, I've always been amaze...I second this !<br />Miguel, I've always been amazed by how easily you get things working and by the creative solutions you find.TheSliderhttps://www.blogger.com/profile/00722113578654952345noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-25885434308100439492013-08-03T08:39:07.886-04:002013-08-03T08:39:07.886-04:00Miguel Your are a complete and utter genius! Its v...Miguel Your are a complete and utter genius! Its very exciting to see your breakthrough's :) Good luck!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-21877638135219258132013-08-02T23:08:55.435-04:002013-08-02T23:08:55.435-04:00Yes, LOD system creates the worst aliasing in dist...Yes, LOD system creates the worst aliasing in distant trunks.<br /><br />I am sure there are and will be plenty of tricks to deal with this. If you have links to any papers they will be very appreciated.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-79902143870515230342013-08-02T21:34:39.827-04:002013-08-02T21:34:39.827-04:00So the problem is, that the LOD system creates ali...So the problem is, that the LOD system creates aliasing only on distant trunks?<br /><br />Maybe allowing voxels to be semi transparent would work, so the fine detail of air between trunks gets averaged to a large semi transparent voxel.<br />In terms of frequencies: the LOD system should have a lowpass/average step, because every high quality sampling rate conversion in signal Processing uses a lowpass filter to reduce aliasing.<br /><br />tl;dr: mipmapping for voxels?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-28020257410990637742013-08-02T18:40:13.940-04:002013-08-02T18:40:13.940-04:00I believe that question has been addressed several...I believe that question has been addressed several times in the comments, and I believe the general answer was "No" or "Not at any time soon."<br />To allow you to cut them down, first trees would have to be detectable and aware of all their parts (Which they arent atm, as they are just parts of the world), then, atleast every time you remove a bit from the tree, calculations would have to be made to see if it falls over, if you use animations, it will look bad half the time, as you will have trees which fall in the same direction every time, fall through buildings, rocks, other trees etc. and the ground if they are on a slope. If you use physics, you will have to do physics calculations on a voxel structure, which I believe is quite processor intensive...<br />Though Miguel might be able to give you the specifics =P.Kamicahttps://www.blogger.com/profile/09074839497845172950noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-54823490646782187582013-08-02T18:25:00.229-04:002013-08-02T18:25:00.229-04:00Oh and, will we be able to realisticaly cut down t...Oh and, will we be able to realisticaly cut down trees with a falling Animation ? that would be quite amazing.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-52665297687676296522013-08-02T17:36:14.636-04:002013-08-02T17:36:14.636-04:00These trees look good so far!
What i would like, w...These trees look good so far!<br />What i would like, would be an Video, where you would just be building something, maybe a Little Castle/Tower Thing or maybe a little village, that would be cool.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-53408272419968366352013-08-02T16:33:27.300-04:002013-08-02T16:33:27.300-04:00Gotcha, when you said "The second ball could ...Gotcha, when you said "The second ball could be anywhere, even with no edge crossings at all" I assumed [no crossings at all] meant that the second ball was completely in a voxel. I'm guessing you mean you need to move it such that it will have the desired crossings, and thus be represented. Thank you!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-9536574467856577802013-08-02T15:44:58.056-04:002013-08-02T15:44:58.056-04:00Would it make sense to mark certain sections of th...Would it make sense to mark certain sections of the octree (or whatever it's called, I think I remember you saying you're not using it anymore...) as being a higher-detail feature, so it keeps it's near LOD detail one LOD-skirt farther out?DmLhttps://www.blogger.com/profile/01867491782144075781noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-74718524403234922352013-08-02T13:45:25.700-04:002013-08-02T13:45:25.700-04:00You cannot find crossings unless they are over an ...You cannot find crossings unless they are over an edge. That is what makes it a crossing actually. If the feature is fully inside a voxel, it is never seen. The idea in this post is that sometimes you are allowed to place your features in awareness of your voxel grid. If you can get away with that, you will get a lot more mileage of fairly large voxels.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-52830758528054136002013-08-02T13:42:48.837-04:002013-08-02T13:42:48.837-04:00Trees would have to be unrealistically close for t...Trees would have to be unrealistically close for that to be a problem. The voxel size is small enough to have actually several free voxels between trunks.<br /><br />Anyway your argument stands. This is just a trick for tree trunks, but this problem is everywhere.<br /><br />Giving up on voxels and bringing meshes in is always an option. But not a solution. In that regard it is not very interesting to me. It does work very well.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-64143650989511074692013-08-02T13:29:37.491-04:002013-08-02T13:29:37.491-04:00This sounds like a great solution to this specific...This sounds like a great solution to this specific problem, but I can't help but think that there are cases where you might have two small trunks growing next to each other. I really love your approach to all this, but I wonder if you've started to explore the idea of marrying traditional mesh-instances approaches with the voxel approach? For example, larger trees use voxels but smaller trees are instead instanced lod meshes pulled from a library? It appears that you're doing something like this with the grass, so I'm just wondering if that's another way you could solve the problem of having high frequency detail in a low-frequency rendering region.Anonymoushttps://www.blogger.com/profile/12252053282987873900noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-44629018240066095992013-08-02T13:25:37.613-04:002013-08-02T13:25:37.613-04:00So typically with dual contouring you find edge cr...So typically with dual contouring you find edge crossings, use normals and find a good point in the cube for the vertex. You however are now finding crossings that exist entirely within a single cube, but if you were just looking at the edges you would miss it.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-81894518848246578952013-08-02T13:17:01.332-04:002013-08-02T13:17:01.332-04:00Yes, but it is more than just edge crossings. The ...Yes, but it is more than just edge crossings. The second ball could be anywhere, even with no edge crossings at all. It has to be shifted so it lands on the spot we know it can be represented.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-27174063429030187972013-08-02T13:06:04.970-04:002013-08-02T13:06:04.970-04:00So if I understand this right, if an edge contains...So if I understand this right, if an edge contains two zero crossings, you move one of them some special distance away, and then you keep them from being merged, correct?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-43318904456438252152013-08-02T10:39:06.279-04:002013-08-02T10:39:06.279-04:00It is pretty much the same with marching cubes. If...It is pretty much the same with marching cubes. If you use only 6 voxels you will have one edge that will get two surface crossings. Marching cubes won't be able to "see" that. It will think the entire thing is solid so the two balls will be merged.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-23481456025398277192013-08-02T08:31:37.413-04:002013-08-02T08:31:37.413-04:00Sounds cool, so does this have something to do wit...Sounds cool, so does this have something to do with marching cubes?<br />Can you explain why you cant have, say, 2 trees in the area of 6 voxels? Kamicahttps://www.blogger.com/profile/09074839497845172950noreply@blogger.com