Re: [Algorithms] Character customization Vs Number of primitives
Brought to you by:
vexxed72
From: Benjamin R. <ben...@gm...> - 2007-06-13 20:13:07
|
That's really interesting. We were wondering whether we would work in uncompressed space and then compress the whole image, or else directly work in compressed space. Looks like decompressing / blending / recompressing only the blocks needing the blend is a good trade-off. One thing I don't understand: "The blend commands are generated offline". By "the blend commands", you mean the functions that will be used during blending ? On 13/06/07, Chris Lambert <cla...@fl...> wrote: > > I should clarify. For performance and quality reasons, we don't blend in > DXT compressed space anymore. We tokenize the blend operation into a > serial > list of commands. That is, if n contiguous 4x4 blocks don't require a > blend > (since they lay fully inside or outside the mask area), they are simply > copied in a large chunk. Only the blocks that overlap the mask edges are > decompressed, blended, and recompressed. The blend commands are generated > offline. The blend operation takes place in a worker thread. > > -Chris > > > -----Original Message----- > > From: gda...@li... > > [mailto:gda...@li...] On Behalf Of > > Chris Lambert > > Sent: Wednesday, June 13, 2007 11:51 AM > > To: 'Game Development Algorithms' > > Subject: Re: [Algorithms] Character customization Vs Number of > > primitives > > > > What Jay said. We do our texture blends (often during gameplay, due to > > equipping different armor bits) in DXT compressed space on worker > > threads. > > In addition, we do a final colorization step on the albedo texture, > > also in > > another thread. > > > > Similar requirements: fixed resolution for the slots, fixed texture > > format > > per texture type (albedo, specular, etc.). > > > > We only split batches for shaders/materials (eg, skin vs. metal) and > > bone > > counts. > > > > -Chris > > > > > -----Original Message----- > > > From: gda...@li... > > > [mailto:gda...@li...] On Behalf Of > > > Jay Patel > > > Sent: Wednesday, June 13, 2007 10:02 AM > > > To: Game Development Algorithms > > > Subject: Re: [Algorithms] Character customization Vs Number of > > > primitives > > > > > > What Megan said. Then add in a VB optimize and texture compress step > > in > > > a separate thread. > > > > > > -----Original Message----- > > > From: gda...@li... > > > [mailto:gda...@li...] On Behalf Of > > > Megan Fox > > > Sent: Wednesday, June 13, 2007 9:23 AM > > > To: Game Development Algorithms > > > Subject: Re: [Algorithms] Character customization Vs Number of > > > primitives > > > > > > If it's something that's fixed for a given scene post-load, the most > > > direct approach would be to store each texture separately, and > > > construct them all into a single (or multiple) atlas(es), and then > > > make a single mesh per player out of the parts. > > > > > > For a similar system but with no bound on number of potential > > > customizations / characters in a scene (eg. RPG), we just built a > > > system to merge part textures into a per-character atlas, and > > > similarly, merge mesh parts into a per-character single mesh. For > > the > > > sake of sanity, we just required that each "part" have a texture that > > > met with a particular dimensional requirement for all variants of > > that > > > part (head, arms, legs, whatever), and then we basically did a giant > > > photoshop merge operation to flatten all the bits into a single > > > texture, where we always knew that the arm texture could be found > > > within rectangle X or whatever else. That saved us the work of > > > offsetting the UVs in the mesh, they could be fixed. > > > > > > Note that thinking of it like a photoshop merge has another advantage > > > - you can do some rather incredible tinting with creative use of > > > "layers," amongst other things. It's a great deal more flexible when > > > you can just have a grey "base" for a part, and then a couple of > > > different color mask textures to apply over it to add detail. > > > > > > On 6/13/07, Benjamin Rouveyrol <ben...@gm...> wrote: > > > > Hi all, > > > > > > > > The game I'm working on has around 30 customizable characters that > > > will be > > > > displayed during a match. > > > > > > > > Each character has an armor, made by 5 different fragments (arm, > > > legs, > > > body, > > > > head, name). The first 4 fragments have 3 different levels (81 > > > different > > > > possibilities) and the name is unique. I was wondering how you guys > > > deal > > > > with this kind of customization. I see two options (I may be > > missing > > > other > > > > solutions though :) ): > > > > - Have different primitives for each fragment: I'm afraid that the > > > number of > > > > draw calls would increase a lot, since each character will also be > > > rendered > > > > for shadowing, for lighting and for glowing, but the textures will > > be > > > shared > > > > in memory > > > > - Group all the different primitives into one single primitive: > > this > > > will > > > > reduce the number of draw calls, but the textures must be grouped > > > together > > > > into a single texture, that may never be shared (and there are > > > > diffuse/normal/gloss textures for every characters) and the memory > > > cost can > > > > become huge if the artists want a pretty big resolution. > > > > > > > > When I see games like World of Warcraft where the number of > > > characters > > > is > > > > pretty big, and the customization can be important, I assume that > > I'm > > > > missing something :) . > > > > > > > > Any wisdom to share about this ? > > > > > > > > Thanks, > > > > > > > > Ben > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > -- > > > - > > > - > > > > This SF.net email is sponsored by DB2 Express > > > > Download DB2 Express C - the FREE version of DB2 express and take > > > > control of your XML. No limits. Just data. Click to get it now. > > > > http://sourceforge.net/powerbar/db2/ > > > > _______________________________________________ > > > > GDAlgorithms-list mailing list > > > > GDA...@li... > > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > > Archives: > > > > > > > http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms- > > > lis > > > t > > > > > > > > > > > > > -- > > > Megan Fox > > > Idyllon, LLC > > > http://www.shalinor.com/ > > > http://www.idyllon.com/ > > > > > > --------------------------------------------------------------------- > > -- > > > - > > > - > > > This SF.net email is sponsored by DB2 Express > > > Download DB2 Express C - the FREE version of DB2 express and take > > > control of your XML. No limits. Just data. Click to get it now. > > > http://sourceforge.net/powerbar/db2/ > > > _______________________________________________ > > > GDAlgorithms-list mailing list > > > GDA...@li... > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > Archives: > > > http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms- > > > lis > > > t > > > > > > --------------------------------------------------------------------- > > -- > > > -- > > > This SF.net email is sponsored by DB2 Express > > > Download DB2 Express C - the FREE version of DB2 express and take > > > control of your XML. No limits. Just data. Click to get it now. > > > http://sourceforge.net/powerbar/db2/ > > > _______________________________________________ > > > GDAlgorithms-list mailing list > > > GDA...@li... > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > Archives: > > > http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms- > > > list > > > > > > ----------------------------------------------------------------------- > > -- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and take > > control of your XML. No limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > _______________________________________________ > > GDAlgorithms-list mailing list > > GDA...@li... > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > Archives: > > http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms- > > list > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list > |