Personal Version of minib3d

BlitzMax Forums/MiniB3D Module/Personal Version of minib3d

klepto2(Posted 2006) [#1]
if SimonH has nothing against it (if yes simply delete this post) I will made my current minib3d Version public, so as long simon doesn't have include VBO Support, the people have something to play with ;)

Download: http://klepto2.kl.funpic.de/DL/MiniB3D-v030klepto2.rar

Differences to the normal minib3d v0.30
- VBO Support with Fallback to VertexArrays
- HardwareInfo Type used for Fallback
- MD2 Support (with all b3d commands for md2) but not interpolated yet

Known issues:
Sprites doesn't work correctly (currently searching why)
Frames for md2 are a bit laggy due to no interpolation (just working on it)

Enjoy !


mongia2(Posted 2006) [#2]
thanks

mongia


FlameDuck(Posted 2006) [#3]
Stupid question time - why not just have one version of MiniB3D on a public svn service?


klepto2(Posted 2006) [#4]
because noone has made it yet, and I currently have access to the version 0.30 with my changes. and as I don't know when SimonH will release the new Version, I was thinking that some people maybe want to play with this Version.

PS: I think to make it a public svn service, the source has to be splitted also. (what I will try)

New Version of my minib3d Version will be available soon.
currently changes to the above Version:
-interpolation between Frames
-5 times faster loading of md2 models because of a normal lookuptable

and maybe a splitted version of minib3d.


Progi1984(Posted 2006) [#5]
The same question : Why don't you create a sourceforge project ?


Leiden(Posted 2006) [#6]
A sourceforge project would be a good idea. Just have multiple branches, a stable one (Simon's) and a unstable/technology/new branch (based on stable code with additional features). Its easy enough to do with SVN or CVS.


Picklesworth(Posted 2006) [#7]
I could set up SVN on my very bad server here. Unfortunately, that server is running through an unstable wireless adapter that doesn't much like Linux, and the server itself is awful. (Ah, the wonders of 6 year old hardware... My video card won't even let me run in portrait mode!)
But if I'm going to host it, we'll need to split up that source code... lots of wasted bandwidth, otherwise! (Could get ugly :p)
Of course, my own SVN server would not go well; there's also an ugly router to deal with and a changing IP address.

Sourceforge would be good :)
...Or a code wiki (which surprisingly does not exist! I'm thinking a branch of / extension for MediaWiki that is specialized for sharing source code).

Quite cool would be if that SVN server could be running alongside a modserver. (Assuming running modservers is documented, of course...)


klepto2(Posted 2006) [#8]
So, here is a new Version, as said with frame interpolation and already a basic Shader implemntation. (The Source is spliited also).
Have fun.
http://klepto2.kl.funpic.de/DL/ShadertestwithSource.rar

I agree totaly with you that a Sourceforge or CVS site would be the best solution.


Leiden(Posted 2006) [#9]
minib3d hasnt yet been registered as a project on sourceforge, grab it now!


Morbius(Posted 2006) [#10]
Where's bump.png?


klepto2(Posted 2006) [#11]
The bump.png was needed by another shader. So as long as you don't compile in debug modus it dosn't matter.

BTW:
Here is a final Version with VBO,MD2 and GLSL Support.

http://klepto2.kl.funpic.de/DL/Minib3dShaderFinal.rar

and a small test application with a Parallax Bump Shader.

http://klepto2.kl.funpic.de/DL/parallaxshader2.rar

If there is no shader support it should fallback to normal Texture mode.

Small Screenshot:



Left is with Shader,Right without.


Morbius(Posted 2006) [#12]
Thanks! Looking awesome.


Dreamora(Posted 2006) [#13]
working quite good.

Thank you for this contribution Klepto


JonasL(Posted 2006) [#14]
Hi, seems really interesting. Nice work! However, running the shader demo on my Mac crashes. I know it is a crappy old 1 GHz G4, but many customers have low spec machines also. Has anyone made this run on a Mac?

MiniB3D Hardwareinfo:

Vendor:         NVIDIA Corporation
Renderer:       NVIDIA GeForce4 MX OpenGL Engine
OpenGL-Version: 1.1 NVIDIA-1.4.18

Max Texture Units: 2
Max Texture Size:  2048
Max Lights:        8

OpenGL Extensions:
GL_ARB_transpose_matrix
GL_ARB_vertex_program
GL_ARB_vertex_blend
GL_ARB_window_pos
GL_ARB_shader_objects
GL_ARB_vertex_shader
GL_EXT_multi_draw_arrays
GL_EXT_clip_volume_hint
GL_EXT_rescale_normal
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_APPLE_client_storage
GL_APPLE_specular_vector
GL_APPLE_transform_hint
GL_APPLE_packed_pixels
GL_APPLE_fence
GL_APPLE_vertex_array_object
GL_APPLE_vertex_program_evaluators
GL_APPLE_element_array
GL_APPLE_flush_render
GL_NV_texgen_reflection
GL_NV_light_max_exponent
GL_IBM_rasterpos_clip
GL_SGIS_generate_mipmap
GL_ARB_shading_language_100
GL_ARB_imaging
GL_ARB_point_parameters
GL_ARB_texture_env_crossbar
GL_ARB_multitexture
GL_ARB_texture_env_add
GL_ARB_texture_cube_map
GL_ARB_texture_env_dot3
GL_ARB_texture_env_combine
GL_ARB_texture_compression
GL_ARB_texture_mirrored_repeat
GL_ARB_vertex_buffer_object
GL_ARB_pixel_buffer_object
GL_EXT_compiled_vertex_array
GL_EXT_texture_rectangle
GL_ARB_texture_rectangle
GL_EXT_texture_env_add
GL_EXT_blend_color
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_texture_lod_bias
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_stencil_wrap
GL_EXT_texture_filter_anisotropic
GL_EXT_separate_specular_color
GL_EXT_secondary_color
GL_EXT_texture_compression_s3tc
GL_EXT_texture_compression_dxt1
GL_APPLE_ycbcr_422
GL_APPLE_vertex_array_range
GL_APPLE_texture_range
GL_APPLE_pixel_buffer
GL_NV_register_combiners
GL_NV_blend_square
GL_NV_fog_distance
GL_NV_multisample_filter_hint
GL_ATI_texture_env_combine3
GL_SGIS_texture_edge_clamp
GL_SGIS_texture_lod

- Ready -



Barbapapa(Posted 2006) [#15]
only works when in debugger mode, is this normal? and the wall is white first, when I click on it I can see the texture on. Looks like the no shader support picture.


Dreamora(Posted 2006) [#16]
Jonas: your machine is no shader machine, so I hope you don't assume that shader actually work ... (GF3 was the first shaderchip thought you need a GF5 / Radeon 9500 for normal shader usage as pre shader 2 is a little pointless - and just to mention that: GF4 MX is a GF2, not a scaled down real GF4)


JonasL(Posted 2006) [#17]
@Dreamora: Thanks! No, but klepto2 writes "If there is no shader support it should fallback to normal Texture mode." That doesn't seem to work on OSX. I don't have any Mac with shader support so I have no way of testing if that is the problem or if klepto's version just doesn't work on OSX. There either need to be fallback or some way to catch fatal errors. Crashing clearly is not an option if you are writing SW games. Get too many support mails that way! ;)


klepto2(Posted 2006) [#18]
I think I have found the reason for this. As I have started with the Shader support someone in another forum mentioned that only checking for Shader_Object support is needed. But it seems that I have to check also for ARB_Vertex_Shader and ARB_FRAGMENT_SHADER. I will integrate this later today and post the new Version here. And I hope that this will solve the incompatiblity thingy.


klepto2(Posted 2006) [#19]
Hi
For everyone with crashes on startup could you test this file:
http://klepto2.kl.funpic.de/DL/shaderspecularfallback.rar

It is a new Demo with bumpmapping and hopefully with correct Fallback for non Shader cards.
If the test is positive i will upload a new version as soon as possible.

thx


Barbapapa(Posted 2006) [#20]
hi klepto2, works fine here now, it says Shader 2.0 GLSL not supported, FPS 60 and Bias:0.5
The specular from the white ball(comet? ) is a little rough and flickering and mostly pure white but besides that it all works perfectly.
Btw I have a rather old GForce4 TI 4200 with no opengl 2.0 driver installed yet.


klepto2(Posted 2006) [#21]
that rough flickering is a normal without shader, as the shader would use bump + perpixel lightning, if I'm at home, i will post a screenshot how it would look like with shaders on ;)
thx for testing.


Barbapapa(Posted 2006) [#22]
Oh well, I know it's time to get a new system, but it works so fine :) and thank YOU for your devotion!

btw here's a small piece of the log if interested:

MiniB3D Hardwareinfo:

Vendor: NVIDIA Corporation
Renderer: GeForce4 Ti 4200 with AGP8X/PCI/SSE2
OpenGL-Version: 1.5.5

Max Texture Units: 4
Max Texture Size: 4096
Max Lights: 8


klepto2(Posted 2006) [#23]
As promised here is a small video: http://www.youtube.com/watch?v=pgjszfR0mfc

Maybe some more people could report if the fallback work right now.


Mikele(Posted 2006) [#24]
Works fine.
60 fps. GLSL 2.0 supported
p4/2.4 gf6600/256 MB

black screen and 1 FPS on Radeon9800


Picklesworth(Posted 2006) [#25]
Looks good here:
-Radeon 9600 Pro (GLSL 2.0 is supported)
-Athlon XP 2500+
-1280 MB RAM
-Windows XP Pro


I'm noticing some weird graphics glitches though... hard to describe, but it looks like a render line going along the object when I move the camera. It is especially noticeable in that parallax map example if I view the brick wall's back.


Thanks much for all this work! It will come in very useful for me :)
Your shader functionality is impressively easy to deal with; you've managed to keep up the elegant design of B3d even with that fancy, modern graphics power.


Robb(Posted 2006) [#26]
This looks great! I like thie video :-)

I'd really like to test this however the link always gives me a 'this document contains no data' error. Is there any chance someone could host the file elsewhere?


JonasL(Posted 2006) [#27]
It is a new Demo with bumpmapping and hopefully with correct Fallback for non Shader cards. If the test is positive i will upload a new version as soon as possible.


I would test it on my non-shader Mac if it wasn't a ".exe"! ;)