Jump to content

Masterxilo

Members
  • Posts

    379
  • Joined

  • Last visited

Posts posted by Masterxilo

  1. Blend modes are implemented by OpenGL = the graphics driver and finally by the GPU itself. This is one of the few things even shader programmers don't have access to. There's no way to find out the color of the pixel that was already painted underneath the current pixel.

  2. CSG is still very much in use today. It greatly increases level design and requires less skill than being a 3D artist.

     

    Far Cry 2, Crysis, STALKER, none of the newer engines use it.

    Call it CSG, call it placeholders, call it "solids", but even some of "the newer engines" use this.

    E.G. Crysis: http://doc.crymod.com/SandboxManual/frames.html?frmname=topic&frmfile=Solids.html

    This simplifies collaboration between level designers and artists a lot.

     

    Will the editor have some kind of plugin mechanism that would allow anyone to make something like this if you decide not to add it?

    Same for anything else one could wish..

     

    You can make a Voxel sculpting editor instead of CSG editor.

    It does the same as CSG but much better and doesn't add any polygons

    no matter how often you do boolean ops. Crysis uses Voxels for the terrain too,

    and modern 3D modelling programs like ZBrush and 3DCoat uses Voxels too.

    Sure it does add polygons with a polygon rendering engine like opengl. Cube marching is used to

    "transcript" the volume data of the voxels into a polygon model.

    ZBrush doesn't use voxels, that's why you have to tesselate the mesh yourself with that sculpting app.

    The voxel volume used for terrains in crysis has a very low resolution and voxels per se are not too useful

    for non-aa flat surface modeling.

     

    We do need solids/csg.

     

    Having a day/night cycle in the editor like crysis sandbox did would be great XD.

     

    I agree. Originally I thought people would find that too restricting, but the general desire seems to be to have more of these pre-made things built in, so I won't worry about it.

     

    I agree with franck22000 and Laurens there.

    The most important thing (for me) is to be able to replace, extend, change, disable or just not use such built-in/pre-made features.

     

    I'm currently writing a byte reader/writer for GMF

    You could use the gmf sdk for the writing part.

     

    I am using an optional flag to load a unique copy of[...]

    This same approach can probably be used with shaders, sounds, meshes, etc.

    Finally!

  3. "Yes, for the theoretical aspect"

    Making a dll work in Java is a pretty difficult and annoying task. I think you even have to write some of wrapper dll with their API.

    Let me know how you'll do it. Once you get the base working, automating the conversion of the c headers shouldn't be too difficult and LE would have one more supported language!

  4. I don't think there's a way to do #1 directly in place, but you can copy the surface vertex by vertex...

     

    For #2 see any lua scrip that sets up a particle effect or transparent material.

     

    And for #3, use lua.

  5. It is a very bad idea to limit supported resolutions. It's so sad that many old games only support a limited amount of resolutions. But modern games should (and all I know do) support every resolution the user's system supports (no matter what resolutions are possible in like 10 years).

    • Upvote 1
  6. I just happened to be in need of this function myself and noticed that the current function I posted above limits the functionality that the generic "function()" might implement. With the above function, it wasn't possible to make it modify the hierarchy since that would lead to errors.

     

    In order to allow the called function to do pretty much anything, ForEachChildDo should rather look like:

    void ForEachChildDo(TEntity entity, void (*function)(TEntity,byte*), byte* extra = NULL, bool recursive = true, bool includeSelf = true)
    {
       // Store current children to allow function() to modify the hirarchy without causing any severe errors.
       int iChildren = CountChildren(entity);
    
       if (iChildren > 0)
       {
           TEntity* children = new TEntity[iChildren];
    
           for (int i = 0; i < iChildren; i++)
               children[i] = GetChild(entity, i + 1);
    
           // Execute
           for (int i = 0; i < iChildren; i++)
           {
               if (recursive)
                   ForEachChildDo(children[i], function, extra);
               else
                   function(children[i], extra);
           }
    
           delete[] children;
       }
    
       if (includeSelf && EntityExists(entity))function(entity, extra);
    }

  7. Just use SetEntityMatrix.

     

    Here's the code I used for my physx wrapper for le (physx also gives you just a matrix):

    			float nxMat[16];
    		actor->getGlobalPose().getColumnMajor44(nxMat);
    		TVec16* mat = (TVec16*)nxMat;
    		SetEntityMatrix(TEntity(actor->userData),*mat);	

  8. The lines are getting blurred and it would seem that Master showed that point. He states:

    You shouldn't listen to music you like on the internet for free

    Yet the people who make the music are promoting that I do just that with Vevo. That's blurry lines. I think there are people who agree with that blanket statement of what Master said, but it's not 100% accurate anymore.

     

    Well, what is "free" (artists don't get their money) and what is not (meaning the artists get their money) it's just not clearly visible anymore for the customer since you might be able to go watch some music video or listen some song without "directly" paying for it.

     

    Well it's free for me and you as long as we can handle watching a 20 second commercial every once in awhile.

    Right, that's the "not free" that looks like "free".

     

    There might of course be cases where you can get works completely free legally (meaning respecting the creator's copyright).

    This is because the creator wants to make his/her work available completely for free, it's their choice and it respects their copyright. If they include a copyright notice like "You may not share this file but only the download location. This may not be uploaded elsewhere." and you do so, or download it from somewhere else, you are again infringing their copyright.

     

    Instead of calling these ways of accessing media "free" and "not free", "infringing copyright" and "respecting copyright" might suit better.

×
×
  • Create New...