I posted my design idea to javagaming.org and got this response: Pepio said: Overlays are often used for text, as you know. for a console, the scheme is often a rectangular zone with text, and a border all around. Balancing memory consumption and texture loading/memory fragmentation is often hard to choose. I see you are using a model to limit textures to send, you could specially optimise for consoles by seperating the image in lines of height of a text line, and copying them one by one when they get added to the console, while changing the reference for textures of the upper ones. This would limit the space used, and transfers for each time the console has a new message. Of course, it could be better if the games use 8 pixels high characters. This would add some more polygons (one by line, and 4 for the borders), but would certainly help. My 2 cents My response: Actually that is a *really* good idea. I think I will create a TextOverlay which uses our Overlay code to break the "window" into pieces implemented as smaller overlays. I will maintain a list of overlays, one for each line of text and have special functions for scrolling and changing one or more lines at a time. Then I will re-implement our chat box to use this. The way our chat box now works: you hit enter to enter chat mode and the chat history is scrolled up and a chat box opens up, then you type in the box and when you hit enter the box closes and the text is added to the history... each type of text can be colored according to its chat type... so using your idea the TextOverlay can efficiently implement scroll up and scroll down using texture swaps. I will have to add an Overlay level improvement called OverlaySwap, which can take two overlays of the same size (in this case text lines) and swaps the textures of one to the other. So to scroll up I would start at the top and swap them down, rotating the top line all the way to the bottom, then replace the image on the bottom one with the new data. I am not implementing this all at the Overlay level because I want to still support non-power of two with my sub-overlays, so the text-line-overlays can be, say 448 and it will use a 256x16, a 128x16 and a 64x16 to implement that for each line. So the OverlaySwap would actually switch the textures on all the sub-overlays, but because they are bound in the 3d card, it will be quite fast. Dave =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
