Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / Now Trying DBPro Game Engine With GDK

Author
Message
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 15th Jul 2007 02:49 Edited at: 15th Jul 2007 03:01
not much to say right now, just making a place holder to link to previous topic in the DBPro forum, since i'm converting from DBPro BASIC to the GDK and c++...

(link to previous thread http://forum.thegamecreators.com/?m=forum_view&t=109179&b=1 )

--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 17th Jul 2007 19:33 Edited at: 17th Jul 2007 19:43
You would not happen to have previously work on a game engine called 3impact would you? the name image look familiar .



Edit:
Actually I see this is the Mike I remeber, as I see the name" red October" now. Dropped in to 3impace and took a peek, it is really looking good. I must ask, what brings you to the "Dark" side Feel free to email. Oh and if your interested in c++ instead of c# inquire about my c++ wrapper.
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 18th Jul 2007 18:28
Quote: "I must ask, what brings you to the "Dark" side "


i've always had an interest in DB... as a matter of fact, DB Classic was one of the first game programming languages i licensed... but, it's DBPro's dx9 capabilities that has my interest right now... i really like DOOM3 like bumpmapped, over specularized scenes in games... that's where i want to be with my sub sim/game...

also, the GDK seems to work now, it seems to have matured to the point where it's a viable development tool... few faults in the code, and the db api also seems at the point where real stuff is doable...

--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 18th Jul 2007 18:40
Well glad to have you over. Dark GDK is working quite well for us. Still some bugs I wish would get worked out. Only gripe I have is the forums lack GDK developer interaction. I wish I saw some more "concrete " answers. But as a programmer I know all that goes in to it. Including the pain of answering users question

Also note DarkShader works with gdk now too, good stuff.
MikeS
Retired Moderator
21
Years of Service
User Offline
Joined: 2nd Dec 2002
Location: United States
Posted: 18th Jul 2007 20:31
Yeah, I personally don't use DarkShader, but I imagine a tool like that would be really helpful to your development. If not, there's a few great shader tutorials in the DBP section right now that you may reference. I have also just started using the GDK and enjoy it very much.



A book? I hate book. Book is stupid.
(Formerly Yellow)
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 18th Jul 2007 20:38
If its a dbpro tut' then its not much good unless you want to convert it over to GDK no?
MikeS
Retired Moderator
21
Years of Service
User Offline
Joined: 2nd Dec 2002
Location: United States
Posted: 19th Jul 2007 19:13
I'm assuming the .fx files should work the same on each DBP and GDK. Also, most if not all the command necessary to get shaders running on DBP should be availiable on GDK. Something I'll have a go at sometime.



A book? I hate book. Book is stupid.
(Formerly Yellow)
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 19th Jul 2007 19:16
Ya my coder in crime did a water conversion, was no picnic, but worked.
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 19th Jul 2007 19:52
yeah... i'm gonna have to do the same thing sooner or later...

lets see a screeny

--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 19th Jul 2007 20:00
http://forum.thegamecreators.com/?m=forum_view&t=107648&b=1

shows dbpro, we converted it over to GDK and looks identical. Currently all of my shaders are black. I can not fix this, and it is killing me.
Jna99
19
Years of Service
User Offline
Joined: 3rd Nov 2005
Location: Portugal
Posted: 19th Jul 2007 23:10
unitech show me your GDK code

unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 20th Jul 2007 14:44 Edited at: 20th Jul 2007 14:50
Just to clarify, this example code works ok, it's just the system I'm working from. I get black shaders. Even with dxstudio. Their samples are black on this system.

http://forum.thegamecreators.com/?m=forum_view&t=109874&b=1






Here is a single main.cpp file that reads from the water example by Evolveds ..

Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 20th Jul 2007 15:39 Edited at: 20th Jul 2007 15:52
i haven't started with shaders yet, still validating the polymorphic structure of my OOP framework... so i must apologize bforehand for the fact that this post will be of no help as far as the shader issue you are experiencing is concerned...

but i just wanna ask a quick question about the code snippet you just posted...

it seems as if you are writing the your code pretty much the way it is done in DarkBASIC... a few functions which are called by the main function, which essentially initializes the environment, then enters the mainloop, from which the game logic is implemented...

the question i have is... are you comfortable structuring your code like this?

what i mean is... and don't take this the wrong way... but it seems as if everything is out there, all in one place, all at once...

all your functions, as well as your logic for moving the camera around, adjusting the shader variables... all of it is right in front of you, all in one big mass of code...

this is undoubtedly gonna lead to a mass of confusion as your projects increase in size and complexity (and it will using c++)... not to mention the fact that you will wind up rewriting the same stuff over and over again to do basically the same thing for every app or demo you make...

the point i'm making is... to make things a lil easier on you, wouldn't it be better if you modularized your code a bit... what i mean is, write a section that handles the initialization, and remote it to an include file, where you can reuse it in your next demo or test, without having to rewrite it...

or better yet, approach your project in a object oriented manner... make a class for each bit of functionality...

this way you only work on the logic that you are dealing with at the moment... the rest is 'encapsulated' and out of sight, and will not serve to distract you while you are concentrating on another specific functionality...

take a quick look at what my program looks like...



that's all there is to it... simple... easy to look at... just a few lines of code is all that i will ever have in front of me at one time... only a simple, single train of thought to deal with at one time...

the Game class is the core of everything... it is the 'glue' that binds all the other classes into a single application... it is here that the update event is declared and implemented, and the sync is executed...

the View class defines all aspects of the display...

the Player class is the virtual representation of the real world person playing the game... it's not the guy you might see running around on screen... that would be an instance of the Actor class...

anyway, for me this makes the coding a lot easier, mainly because of the fact that i only am looking at the code for only what i am working on at the moment... the display stuff, camera, and mouse control are encapsulated in the View class, and that code is remoted away in a header file... out of sight, and out of mind once it's done...

when i was working on it, only that code was open before me, and i could see only that bit of the logic as i worked on just that portion... but now i don't need to see it anymore, i'm working on something else... shaders perhaps... so naturally, it makes sense that the shader code should be in front of me, and nothing else that might distract me...

plus, i can always reuse this View functionality (nothing more than a Camera and the mouse control for it) in another project whenever i need to by simply including the file and instantiating an instance of the View class...

i'm still working on this... cleaningup the framework, making it a bit more OOP... but i just thought i'd throw this at you before you got too far involved in your stuff...

c++ code can become very lenghty very quick... i feel that writing code in the traditional procedural BASIC form is a sure path to a lot of frustration... you'll never (ok, maybe never) get a full application done this way... especially if you are gonna be dealing with shaders, of which the functionality needs to be shared throughout the different elements (objects) in your projects...

it might be worth considering modularizing the functionality of your shader implementation, and then, coding your objects so that they in turn have free access to the shader functionality... this way, you can focus on the shader code, and the shader code alone while you are working on implementing its logic...

everything in one single, neat, place... easier to focus on... less chance for error... easier to maintain... and once it's done, it's reusable...

sorry this got so loooong winded... i should be able to give you a hand with the shader stuff in a few days... i won't be getting to that point until i clean up my code and make sure that my approach is really gonna work... that's what's on today's calendar, hopefully i'll get most of it done today i'll post whatever i come up with on the shader front as soon as i start on it...

good luck in the time being...


--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 20th Jul 2007 16:58 Edited at: 20th Jul 2007 17:10
LOL, thats not how my code looks. here is an example of that..

my main function




exp 1)


exp2)


We have built a class to handle things a lot better. The code above was test code to convert a dbpro shader over to gdk.The guy that did this was a genius, he is on the forums if he wishes to make his preses known. He did this in about 10 minutes. Could have had it don't in 8 if he didn't need to stop at a grease monkeys first. We needed a water shader and he said "well it can be that hard to convert over.". And by god he did it. I did put it in our main loop as you can see. //shipquest.updateWater( ); but t wont run on my system, since my friggen shaders all show black.

Sorry I misled you and had you type all of that
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 20th Jul 2007 17:18 Edited at: 20th Jul 2007 20:26
** double post **
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 20th Jul 2007 18:12
you're still missing the point... games don't have entities in them... what the heck is an m_entity???

games have players, actors, ai enemies, monsters, levels, weapons, inventory items, etc... but i've never seen an m_entity in any game...

seriously though, i kid a lot, so don't take me too seriously...

but also, just as seriously...

all that m_entity and m_camera stuff is just more ways to confuse yourself... besides, you're calling methods that are doing lil more than replicating DBPro's (or any other 3D BASIC capable language) procedural methodology... all that stuff should be abstracted in the background... or at least you might consider it...

consider having an instance your Frigate:Ship class load all that stuff in it's constructor... that way you don't have to play around with m_entity this or m_entity that, or other computer sounding speak phrases...

all you'd have to do is simply code...



now doesn't that look a lot more natural than all that m_entity stuff...

the code in the constructor will, of course be a lil more DBProish, but if you construct your classes properly, when you instantiate a new Frigate, it can call all the code necessary to load all the sub parts for your Frigate class...

also... you might consider first making, and testing, a generic Ship class... a base class from which you can derive Frigate from... in the base class, for testing only, only create a cube to represent the ship... that way you can concentrate only on the functionality of a basic Ship... when you are done testing, and your basic Ship has all the behaviors that any ship would need, take out the code that makes the cube, and leave it so that other ships can be derived from it...

it is in these classes that you worry about loading stuff... you can now concentrate on that because you are working on top of a base class that is already coded and tested to work...

this is the way you do things... one step at a time... simple... this way, c++ and all the code in your project becomes manageable...


but hey... i'm just trying to point out how to make things a lil easier for you...

you might do better if you stop thinking in computer speak, and start thinking in real world object speak... model your game like the real world... objects move, enemies hunt, ships sail... create your functions with those sorta method names in mind... they'll be a lot easier to work with...

and months from now, when you want to start another project, you can just include the class code, and simply add a new Frigate, and call it's sail method... without any problems...


but like i just said... it's your project... whatever works best for you...

--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 20th Jul 2007 20:01 Edited at: 20th Jul 2007 20:03
Quote: "you're still missing the point... games don't have entities in them... what the heck is an m_entity???"
- we made an entity loader. for doors and objects of all types. I lood in one "entity" file and cut out the limbs. Works great for placing.

Quote: "all that m_entity abd m_camera stuff is just more ways to confuse yourself... besides, your calling methods that are doing lil more than replicating DBPro's (or any other 3D BASIC capable language) procedural methodology... all that stuff should be abstracted in the background... or at least you might consider it..."
Your point is valid just our choice at the time.

LOL, Mike anyone ever tell you you talk to much? Hey I'm just kidding back. This is just a demo for a bigger project, that which I don't think we will go with db unless they fix up a few bugs..

Again you have valid points, Some of which I never though of, thx.


Oh and patients young grasshopper the page will load, no need to double post
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 20th Jul 2007 20:25 Edited at: 20th Jul 2007 20:30
Quote: "Oh and patients young grasshopper the page will load, no need to double post "


it's patience... the word is patience, not patients...
patients are people in the hospitals...
plus, i'm probably an old enough grasshopper to be your father...

and yes, a few people have told me i talk too much... mostly those who don't have the patience to listen... as for you, you really oughtta listen to what i told ya above...

or not... it's your choice...

if you have a big project to do, like you said, and the code that you showed is an example of the way you're planning on doing it... then i would definitely think that you should do some listening...

or don't... hey... it's your project... your choice...


btw... which bugs are ya talkin about that still need to be fixed in the GDK...


--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 20th Jul 2007 22:02 Edited at: 20th Jul 2007 22:02
Ok now look at you. You're attacking my spelling/grammar. If you can't retort with some trenchant effort don't reply at all. Now I never said I was not "listening" But I'm just a programmer here at unitech. Sure it could be beneficial to recode in the way you suggest but that is not gong to happen. I never said your book that you typed above wont be taken in to consideration. As a matter a fact and I quote I said "Again you have valid points, Some of which I never though of, thx." So stop hopping around and jumping on my spelling and get on point here..

Now about those buggs.

dbSetShadowShadingOff does not work, - not confirmed.

bump mapping does not work..
http://forum.thegamecreators.com/?m=forum_view&t=110583&b=22

Not sure what method is used to make shadows, assuming some stenciling method. But I have never seen this computer craw so slow when producing such a thing..

Documenting needs an update. not a bug, but I hope this is fixed soon.

dbScrollObjectTexture - wont work.
http://forum.thegamecreators.com/?m=forum_view&t=110451&b=22

dbPlayObject is not working. You can play a animation and loop it. but I cant start and stop at a given frame..

I wish to see a GUI system?

no anti aliasing at all. Thats a bummer..

ahh.. just search for my username There are lots out there..

So how is the conversion going? or did you just come aboard to give me a hard time?
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 20th Jul 2007 22:14 Edited at: 20th Jul 2007 22:16
hahahahaha... my book!!! well, i declare... hhhmmmpffff!!!

Quote: "Ok now look at you. You're attacking my spelling/grammar"

hey... hey... i'm not attacking anything... just havin a lil fun... at your expense

as for those bugs... the shader stuff can be circumvented by not using those functions, and using fx shaders...

the scroll texture i gotta look at... i'm gonna need that... or maybe find a texture scrolling shader...

also... playObject is gonna need to work... r u sure it won't stop or start... i'm gonna test that now since i have my code open, and am working on a simple actor class...

thx for mentioning these... lets see if we can pin some of em down, find workarounds, whatever...

as for a gui system... there's a few of em out there that should surely work with c++ and the GDK... have ya looked here yet-> http://www.thefreecountry.com/sourcecode/gui.shtml

if i remember gorrectly there was something called GTK, or something like that... that i played with years ago... that should work...

Quote: "So how is the conversion going? or did you just come aboard to give me a hard time? "

i just came on board to give you a hard time...

lemme look at the animation bug... get back to you on that in a few minutes...

--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 20th Jul 2007 22:31 Edited at: 20th Jul 2007 22:33
We are all just having fun, or we would not be posting right

And I expended nothing my friend..

Let me know who you come along, You are the only one actually interested in circumventing bugs here. I'm trying to convert shaders over from dbpro syntax. I'll admit I'm no pro at it. I have a water shader and working on bump mapping. The shadows I may have time for.

I have tried a few guis, currently I have a buddy that is making one. I also saw crazy eddies. its not bad looking.

Quote: "i just came on board to give you a hard time...
"
Why 'am I not surprised..
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 20th Jul 2007 23:09 Edited at: 21st Jul 2007 00:14
sorry it's taking so long... i had to find that old animated dwarf model... i'm testing the animation functions now...

gimme a few more minutes...



****** added ************

ok... here's what i came up with as far as animation...

dbPlayObject() works... and stops with dbStopObject()...

dbLoopObject() works... but won't stop with just dbStopObject()...

easy solution... slip a dbPlayObject() right in front of dbStopObject() to make a looping anim stop...

another way to do this is to use dbPlayObject and maintain the frame count in a variable, constantly checking that variable so if the value equals the last anim frame, then just call dbPlayObject() again...

but the Play animations seem to be working... i tested on a .x animation from PaceMakeR...


****** just added *********

just did a quick test on dbScrollObjectTexture()... that seems to be working ok... what problems were you having with it?

****** another just added finding ********

i just noticed a strange thing that i'm sure isn't an intended behavior... i had an animating mesh pass through a spinning cube... and when it passed through to the other end, it had morphed into a strange shape...

i stopped the spinning of the cube and reran the test... the animating mesh passed through the static cube with no problem, maintaining its shape...

hhhmmmmm... strange...

******* just added again ***************

it's not the spinning object that is causing the morphing... my mistake... it looks like the animation starting at the wrong frame may be the cause... testing...



--Mike
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 21st Jul 2007 02:36 Edited at: 21st Jul 2007 02:40
ok unitech... here's all you should need to animate an object in the GDK... it's a simple class i just whipped up to test whether the anim commands are working ok... they seem to be...

i took out almost all the nonesential animating stuff... just disregard my strange OOP stuff... you should be able to figure it out...




i didn't use dbLoopObject, because t didn't seem to want to stop and restart properly... instead, i keep track of the framecount, retrieving it on AnimStart() and storing it every iteration of the mainloop to keep it current for the next AnimStop() when it is stored for the next AnimStart()...

the code in the Update() function keeps it looping by checking the total frames, and if equal, resetting to zeo and starting the animation up again...

it may not be 200% correct, but it works... grab what you need to suit your code...

--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 23rd Jul 2007 15:02 Edited at: 23rd Jul 2007 15:11
Quote: "
****** added ************

ok... here's what i came up with as far as animation...

dbPlayObject() works... and stops with dbStopObject()...

dbLoopObject() works... but won't stop with just dbStopObject()...

easy solution... slip a dbPlayObject() right in front of dbStopObject() to make a looping anim stop...

another way to do this is to use dbPlayObject and maintain the frame count in a variable, constantly checking that variable so if the value equals the last anim frame, then just call dbPlayObject() again...

but the Play animations seem to be working... i tested on a .x animation from PaceMakeR..."


Did you try playing frame 10 and stopping at 50 on a 100 fram file?

Quote: "

****** just added *********

just did a quick test on dbScrollObjectTexture()... that seems to be working ok... what problems were you having with it?"


I'm not sure what I'm doing wrong then. Did you add this texture to an object, or import an object with a texture. I think it only fails with an imported texture.
Quote: "
****** another just added finding ********

i just noticed a strange thing that i'm sure isn't an intended behavior... i had an animating mesh pass through a spinning cube... and when it passed through to the other end, it had morphed into a strange shape...

i stopped the spinning of the cube and reran the test... the animating mesh passed through the static cube with no problem, maintaining its shape...

hhhmmmmm... strange... "
- Oh, thats a simple fix, Lay of the drugs
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 23rd Jul 2007 15:24
ok uni... you don't seem to be taking much of this too seriously, so i'm gonna have to stop wasting my time with you, and your problems...

i'm gonna suggest that you take some time and learn c, then learn c++... then get really familiar with the DBPro api... then a lot of your problems will dissapear...


good luck

--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 23rd Jul 2007 17:42 Edited at: 23rd Jul 2007 17:48
I'm not really sure what you mean by "seriously". That is sort of impossible since its a job? Maybe it was my joke. I would have thought someone that kids around as much as you do would have been able to handle that. I guess I was wrong. I have no idea why you asked me to learn C then c++. In my last post I didn't show any sort of code, nor show there was a lack of knowledge there. Anyway, not sure if your still willing to help. Perhapses I need to be more analytical with you.

void dbPlayObject ( int iObject )
void dbPlayObject ( int iObject, int iStart )
void dbPlayObject ( int iObject, int iStart, int iEnd )



dbPlayObject ( 2); //works
dbPlayObject ( 2, 5); // fails
dbPlayObject ( 2, 5, 30 ) ;// fails

My point being if you star a frame of 5 the animation wont start at 5. I don't recall but I think it just starts at 1 and plays. Also ignores the end. I don't see how your class would fix that? I do see how your class fixes the problem with dbLoopObject() not stopping.

As for the scrolling. I'm using an X file and its textured. When trying to scroll the texture its ignored.


void dbScrollObjectTexture ( int iObject, float fX, float fY )
//make a box
//add a texture
dbScrollObjectTexture ( 3, 5, 5) ; //works

//import a box
//with a texture
dbScrollObjectTexture ( 3, 5, 5) ; // fails
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 23rd Jul 2007 18:06 Edited at: 23rd Jul 2007 18:18
yeah... i play around a lot... but not when it comes to the code... ya gotta take that at least a lil seriously, or you're wasting your time and well as the time of others who are trying to help you as well...

now take another look at the code i posted above... do you see where the code stops the animation (in the StopAnim and StartAnim() functions)...



it stops it at any arbitrary point... any frame number... it also restarts it at the number it has stopped at...
note that the variables retrieve the frame number before starting, and store it after stopping...

look at the value that i am using to keep track of the frame count... does it look like an integer value to you...

it sure looks like it's declared as a float to me...

stop following the docs and the intellisense blindly... it's obvious that some of that stuff is wrong...

if you look at it analytically (your words) some of what it says just can't be right... if you look at the DBPro help you will see that the that the second parameter in set object frame is expected to be a real... not an integer...

that keyed me into thinking that the function may be overloaded... or, at the very least, a real number might work as the second arg... so i put the real variable as the second argument, and it worked...

don't be afraid to use your own reasoning and experiment if something doesn't look right...

the functions work... the docs may be off a bit... try making that 5, 5.0f...


same thing with the scroll texture stuff... use floats (real numbers)...



this simple code will work (if you declare uvx and uvy as floats)... or just put float values in there in place of the variables...



--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 23rd Jul 2007 19:39 Edited at: 23rd Jul 2007 19:41
Well Mike sometimes it's hard to take a jokester so serious. The cried wolf reasoning. But I will admit you are correct, I didn't realize it expected a float. Again with the "patience", We are all here for help or to help. If you don't have the time to help others no need to slam them. We are all friends Here.

Now lets take a look a that word shall we..

patience: good-natured tolerance of delay or incompetence

good-natured tolerance, your getting there. You mean no harm even though your execution is a bit brisk..

Now granted you as the one to choose your own perception of the questioner, chooses your own appropriates level of the subject. In this case you obviously picked incompetent. "Delay", would have been more applicable, thus keeping the harmony and "good-natured" theme in the forums.

Oh come now, even you can have a laugh at your own expense every now and then..

No SERIOUSLY, thx mike. I do appreciate it.
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 23rd Jul 2007 19:48
ok... when you're done fooling around, then i'll pay a lil more attention to you... ok...

in the meantime, laugh it up... and, be happy...

--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 23rd Jul 2007 21:13 Edited at: 23rd Jul 2007 21:14
Fooling around, oh I like that one. Wish I had time for that. Now messing with you hardly takes any effort.. That's expendable

On another serious note, any chance I can bug you about sharers. As you know Evolved is the resident shader god. I can't seem to get his normal shader working. The digest is here.. http://forum.thegamecreators.com/?m=forum_view&t=110583&b=22

You have much luck with shaders I presume, yes?
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 23rd Jul 2007 21:18
i'm wrestling with one now... the softshadow one... will also take a quick look at the normal map shader in a few...


--Mike

Login to post a reply

Server time is: 2024-11-19 14:48:16
Your offset time is: 2024-11-19 14:48:16