Source for minib3d extended 2 on Google Code

BlitzMax Forums/MiniB3D Module/Source for minib3d extended 2 on Google Code

klepto2(Posted 2010) [#1]
Hi Guys,

as you may have noticed I have stopped developing my extended Version long time ago. After getting a lot of requests to provide the source code I have done it now by publishing it on google Code.

Currently there is just a download of the module compiled for bmx138 and win32. Source is also included so everyone who wants to look how I have integrated shaders/physics etc can do it now.

Keep in mind that this version is based on minib3d v0.51 so it is a bit outdated. But maybe i will clean it up a bit.

Samples and SVN support will follow. Also some not yet 'module integrated' features like md3-loader will be added.

Download: miniB3D extended GoogleCode

I hope this will help the community.

thx klepto2


ima747(Posted 2010) [#2]
Thanks klepto! can't wait till I can find time to dig into this properly.


FBEpyon(Posted 2010) [#3]
Yes Finally

Thank you so much!!


Kryzon(Posted 2010) [#4]
Klepto2, would you have example codes on how to use the shader extension you created?


klepto2(Posted 2010) [#5]
Yes I will. Currently i'm gathering all my old sources together (md3,bsp loader etc.) and will upload samples etc as soon as possible.


Kryzon(Posted 2010) [#6]
That's great. Thank you for the effort. It'll make things easier, implementation-wise.

I was just reading the source of your Shader interface together with the OpenGL SuperBible (the Shading Language part, of course), and everything started to make sense.

This kind of stuff really gets you going to learn GLSL and program a better pipeline than the fixed-function (with hardware skinning, normal mapping and soft-shadows; perhaps some camera motion-blur too).


JA2(Posted 2010) [#7]
Excellent!

Thanks Klepto2. Looking forward to playing about with some of the extended features. Personally, I'd like to see a simple shadow demo, nothing too fancy. Stencil shadows cast from an animated mesh would be great...

:)


klepto2(Posted 2010) [#8]
Ok, uploaded a new archive containig the module (with a small fix) and 3 samples covering Shadows,Shaders and real render to texture.


FBEpyon(Posted 2010) [#9]
Hello,

Looking good, I played with it for a few, but my only concern was the Material.TurnOn()kept giving a can't access null object.. on the shader demo..

Also your shadows seem to be a bit out of sorts, because it casting the object twice, like the second part is just a bit, but its like its casting a shadow of the shadow.??


klepto2(Posted 2010) [#10]
Have you replaced the module? The provided one has a small fix for the TurnOn bug.

The shadow in shadow comes to not closed shadow volumes. You need to adjust the TShadowObject.VolumeLength value in some cases.


Leon Drake(Posted 2010) [#11]
for some odd reason i keep getting an error cannot read from stream when using loadmesh.

downloaded the most recent mod on the wiki and i'm running bmax 1.38

this is the function that's causing the error

	Function ReadTag$(file:TStream)
	
		
		Local pos=StreamPos(file)
	
		Local tag$=""
	
		For Local i=1 To 4
		
			Local rb=ReadByte(file) '<--------- crashes on this!
		
			tag$=tag$+Chr$(rb)
		
		Next
		
		SeekStream(file,pos)
	
		Return tag$
	
	End Function



EDIT *********************

nvm i just replaced it with the version in the most recent minib3d

	Function ReadTag$(file:TStream)
		
		Local pos=StreamPos(file)
		
		Local tag$=""
		
		For Local i = 1 To 4
			
			If StreamPos(file) < StreamSize(file) Then
				Local rb = ReadByte(file)
			
				tag:String = tag:String + Chr:String(rb)
			EndIf
			
		Next
			
		SeekStream(file,pos)
		
		Return tag$
		
	End Function


works great. Love the shadow demo!


Snixx(Posted 2010) [#12]
I dont suppose there is any way you would want to add these features to the latest minib3d? this is very good.


klepto2(Posted 2010) [#13]
To be honest I'm currently looking into the latest (small fixes) version and evaluate if an update is possible. As I'm currently using Leadwerks as my main Engine I haven't looked into the code long time ago. So it may take a bit before i could decide it. (The TModel class is already from the latest version ;) )


Robb(Posted 2010) [#14]
This is great stuff. Thanks Klepto.

Just out of interest, with the material system, how do you activate alpha on textures loaded by shaders?
I tried using texture flags and entity blend to alpha but doesn't seem to work when a shader is attached.


Kryzon(Posted 2010) [#15]
I think you have to change the flag in the shader. Not sure how to do that.

http://www.gamedev.net/community/forums/topic.asp?topic_id=372910


Robb(Posted 2010) [#16]
I'm pretty sure that blending is independent of the shader pipeline.

I need to have GL_Blend enabled and the object's blending set to GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA but the standard MiniB3D method of doing that doesn't seem to be working.


KronosUK(Posted 2010) [#17]
I get a million of these when I run the shadow demo

DebugLog:Error on Line 383 : GL_INVALID_ENUM

Any ideas how to fix?


Kryzon(Posted 2010) [#18]
It's related to your video card or your driver. It doesn't support a certain GL enum.

Since updating your driver is somewhat easier than replacing your video card (!), try to update the driver.


slenkar(Posted 2010) [#19]
I tried the small fixes version but it doesnt seem to have the matrix fixes from warner,
does the Klepto version have the 'small fixes' like optional VBO usage?