   Cry Engine 2 techniques
  I just watched the E3 movie for Cry Engine II. There are a number of effects for which I cannot think of an explanation on how they do it. I'm hoping that some people on this forum actually do have a clue ;)- The breakable trees and buildings. Just use pre-cut models?- The world is fully interactive. They are walking through bushes and they are correctly waving. How do they do this?- The softshadows cast by the trees which are dynamically waving. The entire world is soft shadowed... Anybody any clue on this one? :P- The amount of detail used in the ground. How do they archieve this amount of detail.I'm hoping somebody out there (except for the actual developers of the engine) do have some answers/suggestions. Is it because they use D3D 10. Does this actually make this much of a difference?Thx in advance,Flapster   
  Here are some of my ideas how they may acheive some of this:The trees and such are probably just using some kind of skeletal physics model, like a ragdoll for arbitrary shapes.Breakable stuff is NOT using pre-cut models--a developer said so himself on a video I saw about it from a convention. I think Dx10 allows some dynamically created geometry in the vertex shader, so it may be that the trees and such such are all modfied geometrically in the shader..Soft shadows are likely to be some form of shadow mapping...detail on the ground i dunno, but this may be partly an illusion, and partly just lots of polygons and alpha masked textures and/or relief mapping. It may be a case of dynamically genereated geometry in the vertex shader, with possibly displacement mapping.To conclude, I dont think there is any magic here, just lots of good work using established methods. ;  Since foliage shadows are filled with lots of high frequency detail, you can cheat a bit - you don't need to accurately self-shadow, but instead use precanned shadow maps/shadow cookies. I guess that may be one of the things they might be doing.[edit]Looking at it again, it doesn't look like they're doing this... Holy sh*t![/edit]stoo   ;  I think they have a model hierarchy that consist of sub-meshes and their bone data. If i were a guy from CryTEK i'd hold an extra face data that points which faces will not be rendered while bones are attached this way i can eliminate the invisible polygons while model is not blowing. But when it comes to blowing phase i'd display those polygons and apply the fake or non-fake  physics formulas to those sub-meshes or to their bones. This way i'll have dynamic interaction and non-pre-cut models.<br><br>Hope that helps a little bit.<br>- Decipher / Resident -;  The chopped tree stuff is easy if you store the polygons in ascending height order. When a character shoots the tree, you map the elevation to final polygon index. Then you just render from the first polygon to that index and you're set. I haven't seen the video. Now if you can shoot off limb by limb, that's nicer. You could do it the same way with multiple objects, but I would think that the sheer number of objects to draw would be problematic.Again, I haven't seen the video? Do the tree trunks always get sliced at an angle. That would make the most sense since, for efficiency, the trunk could be a single, cylindrical strip. That would, of course, have to chop at an angle.;Quote:Original post by TrollThe chopped tree stuff is easy if you store the polygons in ascending height order. When a character shoots the tree, you map the elevation to final polygon index. Then you just render from the first polygon to that index and you're set. I haven't seen the video. Now if you can shoot off limb by limb, that's nicer. You could do it the same way with multiple objects, but I would think that the sheer number of objects to draw would be problematic.Again, I haven't seen the video? Do the tree trunks always get sliced at an angle. That would make the most sense since, for efficiency, the trunk could be a single, cylindrical strip. That would, of course, have to chop at an angle.No, you haven't seen the video. Do yourself a favor and see it. :DBut I don't see how they can use vertex shaders for breaking stuff. I mean, that won't be fully physics-enabled once it's fallen, will it? I could see using it for small stuff, but I don't see how it could work with something like half a tree.   ;  You can have several "plugs" so when the tree/limb is chopped they're attached at the "breaking" point (both top and bottom so you cannot look into the tree).  The two plugs fit together and just get scaled to the size of the tree at that point.  I did something like this awhile ago, alas with programmer art so I cannot be 100% sure it would work 100% of the time.The plants moving as you walk past is something simular to a cloth simulation, just using springs to pull the plant back. and determine its oscillation.  It just gets more lateral movement then vertical.  I'd add in something that if it goes too far it breaks and makes a snapping sound (or if it goes too fast).I seen most of the videos out awhile ago, looks good.  But I think considering Project Offset was written by 1-2 programmers in college it looks much better (UE3 level).  Though its not outdoors (least that I've seen) so it's not an apple to apple comparison but the Cry Engine has a much larger team working on it too.   ;  Graphically, I think that Project Offset and Crysis are pretty close. And while Project Offset has some great non-graphics features, its just that Crysis takes *all* the high-tech stuff and combines them together. But, yes, I know what you mean, and, in a way, I can agree that it is atleast as impressive.   