DrawText bug?

BlitzMax Forums/MiniB3D Module/DrawText bug?

SLotman(Posted 2010) [#1]
I tried a program as simple as this one:
Import sidesign.minib3d

graphics3d 640,480,32,2

While Not KeyHit(KEY_ESCAPE)
	Cls
	renderworld
	beginmax2d()
	DrawText "teste",10,10
	endmax2d()
	Flip
Wend
End


This code error out on DrawText with the following error:
"Unhandled exception:unable to calculate tex size"

The video card is an integrated intel 82945G... has anyone encountered such problem?

The interesting part, is that miniB3D "Text" command works...


SLotman(Posted 2010) [#2]
I managed to trace it a little further, up to glmax2d.bmx

	Function AdjustTexSize(width:Int Var, height:Int Var)
		Local t:Int
		
		'calc texture size
		width = Pow2Size(width)
		height = Pow2Size(height)
		
		Repeat
			
			glTexImage2D(GL_PROXY_TEXTURE_2D, 0, 4, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, Null)
			glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, Varptr t)
			
			If t <> 0 Then Exit
			If width = 1 And height = 1 Then RuntimeError("Unable to calculate tex size")
			If width > 1 Then width:/2
			If height > 1 Then height:/2
			
		Forever
		
	End Function

When this function is called (by glmax2d CreateFromPixmap), widht = 8 and height=16. When it errors out, both width and height=1, and t=0.

Anyone have a hint what could be going on here??


slenkar(Posted 2010) [#3]
joshk posted a fix to that function

its been broken for years
do a search in these forums


jkrankie(Posted 2010) [#4]
Joshk's fix doesn't work on some Intel GPUs though, so it's not much better.


SLotman(Posted 2010) [#5]
OK, I think I found the solution... on monday I'll test it again on the same computer to see if the problem is solved! Thanks!


SLotman(Posted 2010) [#6]
Yup, it solved the problem here indeed - text is showing now, no crashes - just have to figure out why the mesh is now being rendered incorrectly :(

Edit: changing the driver z-buffer depth from 16bit to 24bit solved it :)


jkrankie(Posted 2010) [#7]
Where did you change the driver z-buffer?

Cheers
Charlie


jkrankie(Posted 2011) [#8]
bumpity! Any chance you could let me know where abouts the change is required for the driver z buffer, assuming it's in code somewhere? I've had a look through but can't find anything...

Cheers
Charlie


SLotman(Posted 2011) [#9]
Not in code - in the driver settings. There is a way to change it on code, but even then Intel control panel doesn't allow the application to do it - so, or you experiment with camera depths, or you set the z-buffer by hand on their driver configuration program.


jkrankie(Posted 2011) [#10]
Ah, ok. Thank you :)

Cheers
Charlie