V0.452

BlitzMax Forums/MiniB3D Module/V0.452

simonh(Posted 2007) [#1]
Download from here.

A very minor update - contains a one line fix which you can do yourself if you downloaded V0.451 - see the V0.451 thread.


mongia2(Posted 2007) [#2]
thanks!!
thanks!!
thanks!!
thanks!!
thanks!!


Berbank(Posted 2007) [#3]
anyone else getting this?:

C:/tools/BlitzMax/mod/sidesign.mod/minib3d.mod/minib3d.release.win32.x86.a(cfuncs.cpp.release.win32.x86.o):cfuncs.cpp:(.text+0x16): undefined reference to `std::__default_alloc_template<true, 0>::allocate(unsigned int)'

I've reinstalled MinGW and BlitzMax, but still getting this.

Thank you Si for pointing out I didn't have the latest version of Max last time.


z4g0(Posted 2007) [#4]
thanks simonh!!
although it still have a lot of z-sort problems, is going in the right way!


nrasool(Posted 2007) [#5]
@Berbank,
Sorry but nope, Changing that one line works fine for me without any error. When you reinstalled MingGW, did you also install the components, ('MinGW base tools' and 'g++ compiler')


Berbank(Posted 2007) [#6]
nrasool, no, I didn't because I could access the page that told me what options to select. Now it compiles, executes and returns almost immediately with:

'Unhandled Memory Exception Error
Process complete'

It was working before I updated everything. I realise that's not much to go on, but any thoughts?


simonh(Posted 2007) [#7]
although it still have a lot of z-sort problems

No Z-sort problems here - could be your card/driver that's to blame.

Berbank - Make sure Quick Build is off when first compiling, make sure you have the correct version of MinGW (5.1.3), but apart from that, I'm afraid I'm not sure what advice I can offer. Can you build modules with Ctrl+D?


mongia2(Posted 2007) [#8]
i have a problem with a sort of a alpha texture

i send a file with email


z4g0(Posted 2007) [#9]
No Z-sort problems here - could be your card/driver that's to blame.

hum, could be :( anyway the zsort bugs that I get, seems appears only in version 0.45> ... something changed in sort algo from the 0.42?



theese problems seems appears only in .b3D with masked or alpha<1 brushes


jhocking(Posted 2007) [#10]
If you are experiencing weird overlapping with alpha textures, that isn't a problem with miniB3D, that's just how real-time 3D graphics work. That isn't technically a z-sort problem even, because what's happening is that polygons with alpha transparency don't use the z-buffer. Long story short... actually this is too long, just google it.

z4go, for most of those overlap problems I don't see why the texture needs to have alpha transparency (eg. why are you using alpha transparency on wooden cabinets?); just using normal solid textures would eliminate any problems.


z4g0(Posted 2007) [#11]
these in particulary are not mine .b3d.

anyway masked or alpha textures&brushes are not the woodden surfaces u see in screenshots: the masked/alpha texture are somewhere in the .b3D.

Just a masked brush somewhere in the model that messyup the whole mesh ;)


simonh(Posted 2007) [#12]
jhocking - no, that shouldn't happen really - it's only individual alpha triangles within a surface that lose z-order.

z4go's models display fine here, which make me thik it's a card/driver issue.

However, z4go, can you try swapping the return values in TSurface's Compare method and see if that does anything?


z4g0(Posted 2007) [#13]
tried to switch > and < in Compare method.. but nothing:


^ with 'compare()' modified


^ with original 'compare()


^ with old 0.42 version: looks worse but right sorted.

The card driver are the last released ... later I will try in other pc!


jhocking(Posted 2007) [#14]
Oh so those specific polygons don't have alpha transparency, you just mean there's an alpha texture somewhere else on the model? My apologies, that really is some sort of graphics glitch.


simonh(Posted 2007) [#15]
z4go - what if you comment out lines 1549 and 1551 in TMesh.bmx - this should restore the old behaviour.

The lines are:
surfs.Sort
and
anim_surfs.Sort



z4g0(Posted 2007) [#16]
seeked and commented out!

order looks a bit different, but always messed:



mongia2(Posted 2007) [#17]
simonh are you receive my email with a monster allergy house?

i have a problem with a vision a house (sort problem )


simonh(Posted 2007) [#18]
Yeah I've got it thanks. I've sent you an email.

Are you using TextureFilter at all? If you're applying an alpha flag to all textures loaded in, that might be causing the problem.


mongia2(Posted 2007) [#19]
i use a giles for exporter and use a mipmap and other filters


simonh(Posted 2007) [#20]
Hmmm, I take it you're not using the command 'TextureFilters' before loading the model to apply additional filters? It was a longshot...


FBEpyon(Posted 2007) [#21]
Is there a way to release a version without Max2D Attached its causing problems with my stuff in this version because it seems that it tries to over take the 3D commands...


simonh(Posted 2007) [#22]
Yes I'll add a USE_MAX2D const to the next function. In the meantime to get it working rip out the 'By Oddball' bit in TGlobal -> GraphicsInit.


FBEpyon(Posted 2007) [#23]
Thanks Only version .42 works for me I get a black screen on the others..


impixi(Posted 2007) [#24]
Simon, is there any particular reason why:

glDisable GL_TEXTURE_2D


was omitted from Oddball's EndMax2D function? Reference.


I was having a Max2D problem in MiniB3d so I added the above line that seems to have fixed it.


	' Function by Oddball	
	Function EndMax2D()
	
		' save the Max2D settings for later
		glPushAttrib GL_ALL_ATTRIB_BITS
		glPushClientAttrib GL_CLIENT_ALL_ATTRIB_BITS
		glMatrixMode GL_MODELVIEW
		glPushMatrix
		glMatrixMode GL_PROJECTION
		glPushMatrix
		glMatrixMode GL_TEXTURE
		glPushMatrix
		glMatrixMode GL_COLOR
		glPushMatrix 
		
		TGlobal.EnableStates()
		glDisable GL_TEXTURE_2D    '<- ***** ADDED from Oddball's original EndMax2D *****
		
		glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL,GL_SEPARATE_SPECULAR_COLOR)
		glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER,GL_TRUE)
	
		glClearDepth(1.0)						
		glDepthFunc(GL_LEQUAL)
		glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST)
	
		glAlphaFunc(GL_GEQUAL,0.5)
		
	End Function




jhocking(Posted 2007) [#25]
aaaand .453 coming up soon ;)


*(Posted 2007) [#26]
Even with the new EndMax2d() function there still is no '3d' behind the 2d in minib3d.

Will do everything in 3d anyways


impixi(Posted 2007) [#27]
EdzUp, did you "Build Modules" after making the change?


*(Posted 2007) [#28]
I import the minib3d.bmx file into the game instead of sidesign.minib3d and it still dont work.


z4g0(Posted 2007) [#29]
Edzup, Max2D+Minib3D 0.452 works good here: try this exe with Max2D elements behind and in front of minib3D scene:
http://www.clickitaliansoftware.net/hosted/vgcgroup/Prova/edZupOglTest.rar
to see if could be a videocard issues:
(here the code
Import "../includes/minib3D.bmx"
SuperStrict

Graphics3D 800, 600, 32, 2

Global camera:TCamera = CreateCamera() 
CameraClsMode(camera, False, True) 

Global cube:TEntity = CreateCube() 
PositionEntity(cube, 0, 0, 30) 

While Not KeyHit(KEY_ESCAPE) 
	Cls
	
	TGlobal.BeginMax2D() 
	  SetColor(Rnd(255), Rnd(255), Rnd(255)) 
	  DrawOval(300, 300, 200, 200) 
	TGlobal.EndMax2D() 

	 TurnEntity cube, 1, 1, 1
	 RenderWorld
	
	TGlobal.BeginMax2D() 
	  For Local i:Int = 0 To 10
		DrawRect(Rnd(800), Rnd(600), 20, 20) 
	  Next
	  Flip
	TGlobal.EndMax2D() 
	  
Wend



*(Posted 2007) [#30]
will have a look


Leon Drake(Posted 2007) [#31]
im having a bit of trouble with TGlobal.BeginMax2D()

seems like the only draw commands that work are drawtext, i cant get drawline or drawoval to showup


smilertoo(Posted 2007) [#32]
Something wrong with recent updates, i just get text on a black background for the examples.


Leon Drake(Posted 2007) [#33]
how odd if you put

drawline 0,0,0,0
right before the flip commands the other 2d stuff shows up too.


*(Posted 2007) [#34]
still the same


Leon Drake(Posted 2007) [#35]
weird works for me.


Oddball(Posted 2007) [#36]
Just popped in to confirm that impixi is correct, EndMax2D does require the glDisable GL_TEXTURE_2D line. Without it untextured miniB3D objects will not display correctly and other weirdness may occur. I'm intrigued by your problem Edzup. Did my functions work for you with v0.41? Or have they never worked correctly for you?


*(Posted 2007) [#37]
maybe its the s3 drivers


Damien Sturdy(Posted 2007) [#38]

maybe its the s3 drivers



OOF. S3! The original b3D never worked properly for me on any S3 cards I had back when. texture issues like you have now. Not sure how relevant that is since minib3D is opengl, but :/


*(Posted 2007) [#39]
minib3d runs perfectly in 32 bit mode (apart from 2d) in 16bit it flickers like hell


klepto2(Posted 2007) [#40]
Could you temporary replace the TGlobal Max2D functions or the TBlitz2d Functions with these:

Function BeginMax2D()

Local x,y,w,h
		GetViewport(x,y,w,h)
		
		glDisable(GL_LIGHTING)
		glDisable(GL_DEPTH_TEST)
		glDisable(GL_SCISSOR_TEST)
		glDisable(GL_FOG)
		glDisable(GL_CULL_FACE)

		glMatrixMode GL_TEXTURE
		glLoadIdentity
		
		glMatrixMode GL_PROJECTION
		glLoadIdentity
		glOrtho 0,GraphicsWidth(),GraphicsHeight(),0,-1,1
		
		glMatrixMode GL_MODELVIEW
		glLoadIdentity
		
		SetViewport x,y,w,h
		
		
		Local MaxTex:Int 
		glGetIntegerv(GL_MAX_TEXTURE_UNITS, Varptr(MaxTex))

		
		For Local Layer = 0 Until MaxTex
			glActiveTexture(GL_TEXTURE0+Layer)
					
			glDisable(GL_TEXTURE_CUBE_MAP)
			glDisable(GL_TEXTURE_GEN_S)
			glDisable(GL_TEXTURE_GEN_T)
			glDisable(GL_TEXTURE_GEN_R)
	
			glDisable(GL_TEXTURE_2D)
		Next
		
		glActiveTexture(GL_TEXTURE0)
		
		'DrawRect - 10 , - 10 , 5 , 5
		
		glViewport(0,0,TGlobal.Width,TGlobal.Height)
		glScissor(0,0,TGlobal.Width,TGlobal.Height)
		

End Function

Function EndMax2D()

		glDisable(GL_TEXTURE_CUBE_MAP)
		glDisable(GL_TEXTURE_GEN_S)
		glDisable(GL_TEXTURE_GEN_T)
		glDisable(GL_TEXTURE_GEN_R)
	
		glDisable(GL_TEXTURE_2D)

		TGlobal.EnableStates()

End Function


Maybe this is fixing the problems?


*(Posted 2007) [#41]
Will test it out :)