Coming up against a limit for textures…

Software: Away3D 4.x

Avatar
Choons, Sr. Member
Posted: 17 September 2011 05:34 AM   Total Posts: 281   [ # 16 ]

re the ‘ATF’ thing - also try googling ‘texture atlas’

   

John Brookes, Moderator
Posted: 17 September 2011 09:04 AM   Total Posts: 732   [ # 17 ]

@scratcher
Yeah like the error says. OBC3D isnt an entity.


@Choons
A texture atlas can be done with any imagetype. Thats what I already do.

ATF is a file type, adobes texture format, mainly used for printing.
I also read that theres some advantage to using atf with the gpu. Cant find it any more (maybe I dreamed it).


If you check the alternativa demo and use something like adBlock to view the blockable items.
http://alternativaplatform.com/en/demos/arena/

You will see lots of atf image files.

What I can’t find is why use it for 3D stuff.

   

Avatar
Choons, Sr. Member
Posted: 17 September 2011 09:33 AM   Total Posts: 281   [ # 18 ]

this?

http://blog.kaourantin.net/?p=110

   

John Brookes, Moderator
Posted: 17 September 2011 11:55 AM   Total Posts: 732   [ # 19 ]

Might have been.
Thats about as much as I know.

   

Mr Margaret Scratcher, Sr. Member
Posted: 17 September 2011 12:00 PM   Total Posts: 344   [ # 20 ]

Regardless of the error I had before, what i was trying to achieve seems to be working alright:

private function update_Fronts():void
  {
    
// for each(var crShelf:ObjectContainer3D in crDVDs.children)
    
for (var crSectionIndex int 0crSectionIndex crDVDs.numChildren; ++crSectionIndex
    
   
{
    
var crSection:ObjectContainer3D = (crDVDs.getChildAt(crSectionIndex))
    
    
//TODO: figure out how to check if an ObjectContainer3D is In Frustrum View...
    //if ((Entity(crSection).getEntityPartitionNode().isInFrustum(view.camera)) == true)
    
{
     
for (var shelfIndex int 0shelfIndex crSection.numChildren; ++shelfIndex
     
{
      
var shelfToUpdate:ObjectContainer3D = (crSection.getChildAt(shelfIndex))
      
      for (var 
caseIndex int 0caseIndex shelfToUpdate.numChildren; ++caseIndex)
      
{
       
var caseToUpdate:ObjectContainer3D = (shelfToUpdate.getChildAt(caseIndex)) as Cube;
       
       
       if ((
Entity(caseToUpdate).getEntityPartitionNode().isInFrustum(view.camera)) == true)
       
{
        
        
if (caseToUpdate.extra.imgQual == 0)
        
{
         caseToUpdate
.extra.imgQual 1;
         
trace ("This case is visible: " caseToUpdate)
         
Replace_Front(caseToUpdate);
        
}
       } 
      }
       
     }
      
      
    }
     
    }
  } 

Not sure if there is a more elegant way of doing this, as the cases to be updated are nested within a couple of OC3D, a bit like russian dolls, or Inception… scene—>crDVDs—>Section—>Shelfset—>DVD cases

I was trying to get the initial OC3Ds to be checked to see if they were visible to cut out unneccessary checks but like i say, I might have to come up with some sort of hack, or maybe I’ll find that it doesn’t cause major performance issues once I add more content..

One thing I did think about, and which I’m doing at the moment with the individual cases, is have a .extra.imgQual variable on the shelfsets, which is changed once all the cases within have had their cases updated, and then the same for the parent Section. That way, those sections could be skipped, or failing that, some of the Shelfsets within could be skipped…

   

Rebellion3D, Newbie
Posted: 15 May 2012 10:33 AM   Total Posts: 3   [ # 21 ]

I downloaded latest Away3D 4 beta from git, the zip file. I’m using outline method for rendering ColorMaterials and after 10 minutes of movement of the screen, the game freezes with the same error:

[Fault] exceptioninformation=ErrorError #3691: Resource limit for this resource type exceeded. 

at the line 181 of OutlinePass.as

stage3DProxy.setSimpleVertexBuffer(0dedicatedRenderable.getVertexBuffer(stage3DProxy), Context3DVertexBufferFormat.FLOAT_3dedicatedRenderable.vertexBufferOffset); 

at line 188 of SubGeometry.as

VertexBuffer3D(_vertexBuffer[contextIndex] ||= stage3DProxy._context3D.createVertexBuffer(_numVertices3)).uploadFromVector(_vertices0_numVertices); 
   

Rebellion3D, Newbie
Posted: 15 May 2012 11:51 AM   Total Posts: 3   [ # 22 ]

With default dedicatedMeshes set to false in OutlineMethod it seems to work fine, no crash so far. I think I set that option to true because everything looks better, I don’t even know what that option means smile

I’m new to Away3d, so most of the time I don’t know what I’m doing smile

   

Rebellion3D, Newbie
Posted: 15 May 2012 11:54 AM   Total Posts: 3   [ # 23 ]

... and just to say that you guys are doing a great job! I’m impressed with how Away3d works. It’s amazing framework, cuts down the development a lot.

   
   

X

Away3D Forum

Member Login

Username

Password

Remember_me



X