Texture flags from a b3d model
Blitz3D Forums/Blitz3D Programming/Texture flags from a b3d model| 
 | ||
| Since I need to scale my b3d model textures according to detail level I choose when starting the game, I use a simple scaletexture function. I create then a brush with that scaled texture and paint my model. This function needs to know the textureflag to apply to the new scaled texture. How could I get texture flags from my b3d model or from a brush? I could use texturefilename strings, like "_alpha" , "_mip" etc..but it's a bit unhandy. Do you think there's a better way to scale the textures of b3d models? thanx 
Function Scltexture(texhandle,xys#,tflags)
	txwidth=TextureWidth(texhandle)
	txheight=TextureHeight(texhandle)
	id=CreateTexture(txwidth/xys,txheight/xys,tflags)	
    LockBuffer(TextureBuffer(texhandle))
    LockBuffer(TextureBuffer(id))
    While j<= TextureHeight(id)-1
		i=0
		While i<= TextureWidth(id)-1
			argb=ReadPixelFast(i*xys,j*xys,TextureBuffer(texhandle))
			WritePixelFast (i,j,argb,TextureBuffer(id))
		i=i+1
		Wend
	j=j+1
    Wend
    UnlockBuffer(TextureBuffer(texhandle))
    UnlockBuffer(TextureBuffer(id))
	FreeTexture texhandle
	Return id
End Function
 | 
| 
 | ||
| did you try GetEntityBrush or GetSurfaceBrush? | 
| 
 | ||
| those commands return only the brush...I need to know the textureFlag that is: 1: Color (default) 2: Alpha 4: Masked 8: Mipmapped 16: Clamp U 32: Clamp V 64: Spherical environment map 128: Cubic environment map 256: Store texture in vram 512: Force the use of high color textures how could I retrieve these from a brush or a b3d model? | 
| 
 | ||
| by writing a program to retrieve them using the info from here: http://blitzbasic.com/sdkspecs/sdkspecs/b3dfile_specs.txt Specifically, the TEXS chunk: 
TEXS
  {
	char file[]                 ;texture file name
  int flags,blend             ;blitz3D TextureFLags and TextureBlend: default=1,2
	float x_pos,y_pos           ;x and y position of texture: default=0,0
	float x_scale,y_scale       ;x and y scale of texture: default=1,1
	float rotation              ;rotation of texture (in radians): default=0
  }  | 
| 
 | ||
| thx...It's the only solution | 
| 
 | ||
| not a problem... | 
| 
 | ||
| Hi, I have some functions in one of my DLLs to get such info about textures & brushes, check it out here. www.tomspeed.com/memorylib/ Use with version Blitz3D 1.98 only! Place .DLL and .Decls into your Userlibs folder. Grab the samples to see functions working. Before trying, always BACKUP IMPORTANT WORK!!! :) Let me know how you get on with it. Tom |