• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

2316 Excellent

About Alundra

  • Rank
    Advanced Member

Personal Information

  • Interests
  1. Hi, I try to solve this but it looks to be a difficult task : Animation 2D Blend Basically the first step is to have a delaunay triangulation to avoid to do the triangle manually, classical delaunay or special cases ? The second task is to set each vertices from the delaunay an animation, I have actually no clue how set them. The last task is then to find the barycentric from parameters to then compute the weight of each animation. Is it possible to have some help about it ? Thank you for the help
  2. Fifth Engine

    Haha, awesome
  3. You can compute the angle using atan2 or dot product which will gives you an angle in [-PI, +PI]. Using this angle you can select the 2 animations and then compute the blend factor of the two. Mirroring is a tricky thing, you have to set the mirror bone + set the mirror axis, mirror the quaternion using that.
  4. For that you can simply have 4 animations : N,S,E,W and then do a blend by direction. For that you can do mirror of animation, but it's a tricky thing to have it working and you also need to do a mirror bone setup to set each mirror bone.   You can do a masked blend to animate the bottom part and animate the upper part, simply combine the pose.
  5. Good point, I simply clicked on the home page and answered.
  6. std is the namespace used for the standard library of c++. Maybe are you doing : using namespace std; If the answer is yes, then I hardly recommend to not do.
  7. it's not clear to me so 3 options : Array of array of int ​std::vector< std::vector< int > > Array of array of int* std:vector< std::vector< int* > > Array of array of array of int std::vector< std::vector< std::vector< int > > > If the size is fixed you can simply do : int* array[10][10] or int array[10][10][10]
  8. Soft Particles Vanishing in the Distance

    You take the depth from the depth map then you put this value in the "DepthValue" param of this function and that converts the value. float depthFromMap = DepthToViewZ( tex2D( DepthMapSampler, depthTex ).r ); To render in the depth map you can avoid the pixel shader, simply use the vertex shader.
  9. Soft Particles Vanishing in the Distance

    You can convert the depth from depth map like that : float DepthToViewZ(in float DepthValue) {   return Projection[3][2] / (DepthValue - Projection[2][2]); } You simply have to use the same projection matrix used to render the depth map. Another solution is to simply store the view-space depth in a render target, but since it's already stored in the depth map, better to use it.
  10. I don't understand this problem of relative transform, since the game object (or actor or scene object or entity ....) has the local transform, it contains a pointer of the parent, so you compute the relative transform with the current parent and when you change the parent you update the local transform. You will only win to move to a component based system if you are not already and then you can have a script component which contains a reference to one script. But you can also do all without script and later add a runtime compile, it can be seen as c++ script at the end.
  11. The dirty flag is something still used nowadays, you have a state to know if local space transform, world space transform or world space matrix needs to be updated. Since the flag is checked then you don't update the transform twice, when you do any update on the transform of the object, you have to set the flag to "needs update" correctly. The object store internally local space transform, when it has no parent, the local space transform is the same as world space transform. About the scene, you can have flat array and move the pointer of the object when you add child/remove child. Another solution is to have flat array for rendering and a root object (or array of root objects). Using the second solution, you update from root to children, the update is not twice. Using the first solution you simply for loop the flat array, the update is not twice.
  12. [PBR] Fresnel fade out

    Ok, I see here page 78 it's explained and also says it comes from Schuler in Shader X7 : http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr_v2.pdf Apparently it's because these area are too small for the shadow map so the cavity map is used there.
  13. The solution said by Hodgman is the cleanest, when he said transform he speaks about the world space transform. You can combine all the meshes without any nodes or keep yout frame structure which is a node structure, I prefer the term "Node" than "Frame". The good point of a Node structured mesh is you can animate bone an geometry at the end (to me it's more clear "Geometry" than "MeshContainer").
  14. Resolution scale, good thing ?

    They create the render target on the fly if not one is available for the asked size using a render target pool ? Is it ok to downscale/upscale using the hardware filtering ?
  15. Yes, I do the same, I use a value 1 or 0 for little / big endian and then I have simple inline function which check the endian source to convert using the define of the actual compilation endian. So, basically it's more an issue to check the good endian based on platform because then all others place uses the #ifdef to know the actual endian.
  • Advertisement