2.0.6 Preview

BZFlag related only please...please attach large images
trepan
Dev Wizard
Dev Wizard
Posts: 704
Joined: Fri Feb 21, 2003 7:50 pm

Post by trepan »

LouMan:

It's unlikely that I'll be releasing any demo maps. The
biggest change to map making will be the forced use
of DrawInfo's for applying per-vertex colors, tangents,
and binormals (the last two are required for normal
mapping). Actually, custom attribtues can also be applied
with DrawInfo's.

The old style primitives (boxes, pyramids, bases, and
teles), have their tangent and binormals generated for
them. That may change if I decide that I'd rather not
have cool graphics on sad little maps.

I've also added tiered materials, that will allow you to
use different materials depending on the client's
capabilities and configuration (ex: minQuality, minShader).
They also allow you to specify different properties for
different rendering modes (shadow, radar, depth). This
can be used to render alpha thresholded shadows, or
to have consistency when using a vertex shader that
modifies the vertex positions (without having to run the
expensive fragment shader during shadow and radar
passes).
User avatar
ajh60
Private First Class
Private First Class
Posts: 46
Joined: Sun Dec 11, 2005 6:57 am

Post by ajh60 »

:shock: :shock: omg that is so cool, will i still be able to play on my NVIDIA GeForce FX 5200 or will i need 2 upgrade?
User avatar
DinLokale
Private First Class
Private First Class
Posts: 6
Joined: Tue Feb 28, 2006 6:40 pm
Location: RUSSIA

Post by DinLokale »

ajh60 wrote::shock: :shock: omg that is so cool, will i still be able to play on my NVIDIA GeForce FX 5200 or will i need 2 upgrade?
no i dont think so but if u need to up grade go on nvivdia.com or something l;ike that and put ur graphic cards name and do i need to upgrade my graphic card geForce 6600 gt ge4 :?:
Koni rules!
User avatar
Soraya
Corporal
Corporal
Posts: 354
Joined: Sat Feb 12, 2005 9:59 pm
Location: Florida, USA

Post by Soraya »

hehe my graphics card can handle it... dont ask me what i have, cuz i have no idea. all i know is its good and it can handle bz. :)
I am a leaf on the wind.
User avatar
ajh60
Private First Class
Private First Class
Posts: 46
Joined: Sun Dec 11, 2005 6:57 am

Post by ajh60 »

yeah u no it can handle 2.0.5b5(or 2.0.4) but i dont think it can handle 2.0.6 go into device manager and expand Display Adapters and it will have it there
Image
Image
- sig thx 2 CBG
- hosted by pyr0
dango
Private First Class
Private First Class
Posts: 1400
Joined: Sun Feb 06, 2005 5:40 pm
Location: Somewhere over there.

Post by dango »

how are these effects created? like the fountain? and what is being showed in relief.png?
these effects are really getting better!
Image
User avatar
^nightmare^
Private First Class
Private First Class
Posts: 1264
Joined: Sun Feb 20, 2005 7:14 pm
Location: Alabama
Contact:

Post by ^nightmare^ »

yay (i was wondering when bzflag was going to update stuff like that :)
Looks great. Another great job by the bzflag developers.
Need bzflag help? Try looking here: http://www.freewebs.com/bznightmare/map ... aghelp.htm
User avatar
QuantumBeep
Private First Class
Private First Class
Posts: 117
Joined: Sun Jan 09, 2005 7:03 am
Location: Planet Mofo
Contact:

Post by QuantumBeep »

Yeah, I don't have any hardware that can handle that. That just means I'm going to buy a new video card.
Save the trees, wipe your butt with an owl.
If catapults are outlawed, only outlaws will have catapults.



Proud member of the Mofo Cabal<br>
<br>
OK thats ENUTH OUTA YOU!!!!!!!!!!!!!!!!!!! - smartkid
User avatar
Saturos
Art Master General
Art Master General
Posts: 1111
Joined: Mon Apr 19, 2004 2:48 pm
Location: Berlin/Germany
Contact:

Post by Saturos »

Again: You can turn all these things off, right? Will 2.0.6 require better hardware than 2.0.4? Can I make it look like 2.0.4?
trepan
Dev Wizard
Dev Wizard
Posts: 704
Joined: Fri Feb 21, 2003 7:50 pm

Post by trepan »

Yes, the new features can be disabled. I've also changed
the way that BZFlag loads the material properties for the
default objects (ground, walls, boxes, pyramids, etc...) It
now grabs them from a local file. The file format is the same
as that of the BZW world file, except that you can not
currently use texture matrices and dynamic colors.

Here is an example of a materials.bzw file:
http://trepan.bzflag.bz/materials.bzw

[searched for in ~/.bzf (or equiv.) and data/]

Notice how the "swap" commands allow you to create
material templates. This should make it much easier for
folks to share complicated materials, and still be able to
customized them.

I might also set it up so that the local file can override any
materials assigned by the map. This will help speedup map
making as you wouldn't have to restart a bzfs server to see
the effect of your changes (the local material file can easily
be reloaded).

P.S. LouMan: not really a demo map, but it's something :)
Here's another tidbit:
http://trepan.bzflag.bz/color.bzw
It's shows how custom vertex attributes can be used to
do vertex coloring, and tangent/binormal specification for
the various types of normal/depth mapping.

P.P.S. The variable name is overrideMap ...
Last edited by trepan on Tue Mar 14, 2006 12:18 pm, edited 1 time in total.
User avatar
tw1sted
Private First Class
Private First Class
Posts: 849
Joined: Tue Feb 21, 2006 10:21 pm

Post by tw1sted »

holy **** thats off the shiz!!! i cant wait to play it!!! trepan, can you give me an estimate of when it will be out??
User avatar
Winny
Grouchy
Grouchy
Posts: 2381
Joined: Wed Aug 24, 2005 12:27 am
Location: Ottawa eh?
Contact:

Post by Winny »

*starts studing the new code*
User avatar
Winny
Grouchy
Grouchy
Posts: 2381
Joined: Wed Aug 24, 2005 12:27 am
Location: Ottawa eh?
Contact:

Post by Winny »

is this in the CVS yet ?

EDIT: OMFG....I wrote this about 10 posts ago...

<----is an idiot
Last edited by Winny on Thu Jul 13, 2006 4:37 am, edited 1 time in total.
User avatar
LouMan
Chief Sgt. of Cartography
Chief Sgt. of Cartography
Posts: 338
Joined: Mon Jan 31, 2005 3:05 am
Location: Michigan, USA

Post by LouMan »

Any good place to start learning this structure and terminology? I've tried looking into a few basic OpenGL Shading Language tutorials, etc., but most of the examples I have seen are C++ type programs that do not contain any of the terminology in the materials.bzw or color.bzw files. In fact, I tried a simple internet search of "minShader" and the only result was this post, lol.

I think that I might be an old dog trying to learn new tricks with these new features - I am at a complete loss looking at the information in those files and I don't think that I'll be able to understand any of it any time soon. I apologize for my total and complete ignorance of these types of parameters and material/mesh definitions.

Unless I am mistaken, it looks like the utilization of the new whiz bang material/lighting features may be left to those that truly understand what is going on "behind the scenes" with the graphic engines, etc.
trepan
Dev Wizard
Dev Wizard
Posts: 704
Joined: Fri Feb 21, 2003 7:50 pm

Post by trepan »

With the map format's ability to do material templates, you don't
need to know jack about shaders to use them. Just fill in your
material with the right textures and colors and you're off to the
races.

Look at the WallMaterial as an example. You don't need to know
how to write a relief mapping shader to use it; textures and colors,
that's it.

You will need to know something about writing shaders if you
want to do custom vertex deformations. Some parametric deformation
shaders might be easy to write (my little fountain shader is flexible
enough to be used by others), but for fancy stuff, you'd want to do
your own. Custom fragment shaders can also dramatically improve
performance by avoiding calculations that need not be done.

Format notes:

The materials.bzw file is a BZFlag specific file. It does not contain
any information specific to the OpenGL Shading Language (OGLSL).

The advanced materials (tiered materials), are a collection of the
current materials organized into technique and modes. Only one
of the techniques is used to render its attached objects. The technique
used is determined by the capabilities and configuration of the client.
Technique selection by the client is done in the reverse order of the
technique specification in the map file.

A new menu configuration entry has been added that allows the user
to setup the level of shaders that they want used. Its value can go from
0 to 10 (0 means no shaders). It is used along side the Quality value
to setup most of the client config.

Another new menu entry is MultiTexturing. Its values are Off and On.

If you specify requireLighting and the user has lighting turned off, then
that technique can not be used. The same type of logic also applies to
materials with texture(s) when the user has texturing or multitexturing
disabled, and with the different shader levels. It can also be used to
provide fallback textures. If a specified texture can not be loaded into
the client, then that technique is not used, and on to the next we go...

P.S. OGLSL spec (and yes, it's _very_ similar to C++)
http://oss.sgi.com/projects/ogl-sample/ ... .10.59.pdf
trepan
Dev Wizard
Dev Wizard
Posts: 704
Joined: Fri Feb 21, 2003 7:50 pm

Post by trepan »

A note about the material modes:

The current supported modes are render, depth, shadow, and radar.
(gbuffer is accepted, but not used)

Render:
Used for normal drawing. Usually the only one that needs to be specified.

Depth:
Used to draw into the depth buffer.
If unspecified, draw with the objects geometry if alphathresholding and
blending are not being used.
Required if you are using vertex shader deformation.

Shadow:
Used to draw shadows. Can be used to draw alpha thresholded shadows.
If unspecified, draw with the object geometry.
Required if you are using vertex shader deformation.

Radar:
Used to draw in Fast Radar modes.
If unspecified, draw with the object geometry.
Required if you are using vertex shader deformation.

Shadow mode example:

Code: Select all

advmat LinkMaterial
  nolighting
  technique
    mode render
      diffuse green # 0.5
      texture snowflake.png
      alphathresh 0.25
    end
    mode shadow
      texture snowflake.png
      alphathresh 0.25
    end
  end
end
If the shadow mode wasn't specified, then the shadows would be
drawn with only the geometry of the objects, and there would not be
any cool texture derived shadow shapes. BZFlag's current shadow
algorithm only uses object geometry (if that helps to better explain it).
trepan
Dev Wizard
Dev Wizard
Posts: 704
Joined: Fri Feb 21, 2003 7:50 pm

Post by trepan »

User avatar
L4m3r
Hater of Everything
Hater of Everything
Posts: 724
Joined: Tue Feb 08, 2005 5:15 am
Location: Los Angeles

Post by L4m3r »

Would you kindly commit this to CVS and break off a beta before the drool shorts out my keyboard? :p
Optimism is just a milder alternative to denial.
User avatar
Winny
Grouchy
Grouchy
Posts: 2381
Joined: Wed Aug 24, 2005 12:27 am
Location: Ottawa eh?
Contact:

Post by Winny »

hhehehe.
:shock: :shock:

that is really cool.
User avatar
person1
Private First Class
Private First Class
Posts: 159
Joined: Wed Sep 14, 2005 3:44 am
Location: Omaha, Nebraska

Post by person1 »

Very NICE!

Now maybe BZFlag will begin to tap into my video card.

Will it support 64bit machines better, or is that not one of the new features?
Image
Image
I not just any person, I am person1
User avatar
LouMan
Chief Sgt. of Cartography
Chief Sgt. of Cartography
Posts: 338
Joined: Mon Jan 31, 2005 3:05 am
Location: Michigan, USA

Post by LouMan »

It's unlikely that I'll be releasing any demo maps. The
biggest change to map making will be the forced use
of DrawInfo's for applying per-vertex colors, tangents,
and binormals (the last two are required for normal
mapping). Actually, custom attribtues can also be applied
with DrawInfo's.
If I understand correctly (other than the base objects, which are a 'maybe'), to apply to material template features to custom meshes it is required to use drawInfo to define objects? If so, any chance of a .obj to .bzw convertor being coded (for Windows), similar to modeltool?

Or is it that these properties/features are assigned using only the material definitions with no need of drawInfo used in meshes?

Again, I apologize for my lack of understanding. :(
trepan
Dev Wizard
Dev Wizard
Posts: 704
Joined: Fri Feb 21, 2003 7:50 pm

Post by trepan »

1. Advanced Materials
Tiered materials

2. Material Templates
Can be either normals materials or advanced materials.
Enhnaced by the addition of the "swap" commands.

3. Vertex Attributes
Data attached to vertices. Default attribs are:
- position
- lighting normal
- texture coordinate (for texture unit 0)

4. Shaders
Programs that run on your GPU.

Advanced Material templates do not necessarily use shaders.
If you want normal/depth mapping, you'll need extra data per vertex.
For custom meshes, the only way to apply the extra data is with
DrawInfo's. A converter that generates DrawInfo's with tangent
(and binormal, unless you're using crossprods), will be required.

No more trying to explain things until I'm done. ;)
User avatar
tw1sted
Private First Class
Private First Class
Posts: 849
Joined: Tue Feb 21, 2006 10:21 pm

Post by tw1sted »

hurry up and release it before my whole computer blows up from my drool (i stole that line i no)
User avatar
Tanner
Private First Class
Private First Class
Posts: 575
Joined: Sat Sep 17, 2005 3:46 am
Location: Atl, GA
Contact:

Post by Tanner »

Sounds like map making you will need a PhD to understand....

-Tanner
Tanner - Segway HT i180 Red Owner - Random Map Creator - BZStocks - TS Software

Image
User avatar
imsome
Private First Class
Private First Class
Posts: 122
Joined: Fri Jun 03, 2005 3:30 am

Post by imsome »

whoa that's amazing, That fountain thing, what exactly is that?
Post Reply