Fast Extend library — Thread 4
Blitz3D Forums/Blitz3D Userlibs/Fast Extend library — Thread 4
| ||
Continued from this thread. |
| ||
...all you need is a cubemap, surely? At least that's how I implement what I would consider to be cel shading. The hardest part is the outline. |
| ||
@ZJP: About your picture (with anaglyph) — it's simple, use ColorFilter function (example FastExt_Example_ColorFilter.bb) and two renderWorld: |
| ||
@Naughty Alien: :) Not certain that DirectX7 supports hardware skinning. I study this subjects. I too remember demonstration from GrumpyOldMan (may be ask him?). I think that is trick and not hardware. I too can operate with vertices from dll, this not in a complicated way, but speed will not above, than in Blitz3D. Possible try to use SSE (SSE2) for calculation... |
| ||
About "toon shading" — good idea to use cubemaps for this effect, but this not real to use in real game. Brrr... :) It is necessary to peer into postprocess effects, I shall try it. |
| ||
this not real to use in real game Obviously not for the outlines... is there any reason why you wouldn't use this for the shading? I haven't noticed any significant slowdown, especially thanks to the wonderful SetCubeAlign command. |
| ||
@Yasha: I think - it a complicated way to prepare materials (textures and meshes) for such shading. This is a single problem, IMHO :) |
| ||
celsphere=CreateSphere(16) ScaleEntity celsphere,10,10,10 FlipMesh celsphere EntityFX celsphere,1 celtex=CreateTexture(2,256) ;Texture for the sphere, not the cel map itself SetBuffer TextureBuffer(celtex) Color 120,120,120:Rect 0,90,2,52 ;Colours - 255,96,64 looks sharp Color 80,80,80:Rect 0,142,2,115 Color 255,255,255:Rect 0,0,2,90 SetBuffer BackBuffer() EntityTexture celsphere,celtex EntityColor celsphere,255,255,255 ;Light colour/brightness, so characters aren't fullbright in the dark! PositionEntity celsphere,0,-500,0 ;Put it somewhere out of sight later celcam=CreateCamera() ;Camera for cel map PositionEntity celcam,EntityX(celsphere,1),EntityY(celsphere,1),EntityZ(celsphere,1) CameraViewport celcam,0,0,celdetail,celdetail CameraProjMode celcam,0 celshadow=CreateTexture(celdetail,celdetail,1+128);+256) ;The cel shading texture SetCubeMode celshadow,2 TextureBlend celshadow,2 ctexb=TextureBuffer(celshadow) updatecelshading(celshadow,ctexb,celcam) ;Do the six-sided render EntityTexture character,celshadow,0,1 EntityFX character,1 celangle=CreatePivot(character) SetCubeAlign celshadow,celangle Not so complicated... Your SetCubeAlign command means the shading can follow the light around without rerendering the cubemap (AFAIK not possible in vanilla B3D, or at least the alternative would be worse) so the performance hit is negligible. Sorry if I've completely lost the plot thread and you're talking about something else entirely, which ...often happens. |
| ||
ColorFilter just seems to toggle Red, Green and Blue as either off or on. Can the user alter the shade of the colours - ie have a different shade of red? It would be handy if these values ranged up to 255 or similar. |
| ||
Is it possible to get a specular effect working using Fastlib? I've seen the wall and floor reflections demo which is sort of the right effect but not quite there - what I need is a specular highlight across a texture relative to the light source (in this case looking down onto a road from 45 degrees with the sun at about 70 or 80 degrees above). You can apply a bump map - I can't see any way of applying a specular map. |
| ||
@puki: Excuse me, I can not do this. This not possible in this instance. @Vorderman: Find the good example without using the library. Understand the principle/algorithm. Hereon you will ready for use FastExt library for improvement of the specular effect... |
| ||
Sorry Mikhail, I don't quite understand your post - I know exactly what effect I am after, just the typical application of a specular map over the diffuse map to give specular highlights dependent upon the specular texture and light direction relative to the camera (currently without a normal map as the texture is quite a long way from the camera). Here's an example image showing the specular map against a grey diffuse, this is the effect I am looking to replicate but I can't seem to get FastExt to do it. ![]() And here is a typical example of a diffuse and specular map (ignore the bump map). http://www.indigorenderer.com:8000/joomla/components/com_openwiki/lib/exe/fetch.php?cache=cache&media=http%3A%2F%2Fimg339.imageshack.us%2Fimg339%2F4916%2Fstonecq5.jpg |
| ||
Aha, got it working at last:![]() |
| ||
@MikhailV: Thx for the source ;) JP |
| ||
I would like to use specular effect in a cave scene (wet look terrain). Is this a slow process? Do you have any experience? |
| ||
Once I'd finally figured out how to do it it's actually really simple - it's using a cubemap aligned to the camera (as in the refletive walls demo) but layered so it masks out the specular texture instead of the reflection. I don't have my code here at work so I'll post it up tonight, unless somebody else has a better system in the mean time. |
| ||
OK, here's the code for loading textures to get a nice specular effect: The textures you need: TEX_diffuse.tga : just a normal diffuse texture TEX_specular.tga : a normal specular texture TEX_specularCUBE.tga : the cubemap texture that comes with the Fastlib libraries (you'll find it at "media\specular.jpg") cube = CreateCube() texture_D = LoadTexture("TEX_diffuse.tga") TextureBlend texture_D , 3 texture_S = LoadTexture("TEX_specular.tga") TextureBlend texture_S, FE_SPECULAR2 ;SPECULAR0 or ADD(3) would be good for water, SPECULAR2 for solid object specular_CUBE = LoadTexture( "TEX_specularCUBE.tga",1+128 ) SetCubeMode specular_CUBE , 1 TextureBlend specular_CUBE , FE_MULTIPLY4X SetCubeAlign specular_CUBE , LIGHT_light1 EntityTexture cube , texture_S , 0 , 0 EntityTexture cube , specular_CUBE , 0 , 1 EntityTexture cube , texture_D , 0 , 2 |
| ||
I had no idea those texture blending modes existed ... care to explain them? |
| ||
They are new blend modes added in FastExt, not sure exactly what they all do but MULTIPLY4X is a 4x multiply blend. |
| ||
Nice effect!, thanks for sharing. |
| ||
Cool. Where is position and blendmode of normal-bump map in this system? |
| ||
I think you add the bump map as the base layer (0), then move all the others up, but I also seem to recall having to add the bump again just below the diffuse layer so that both the specular and diffuse textures are affected. So you'd have : 0 - BUMP (blend FE_BUMP) - this bumps the specular layer above it 1 - SPECULAR (blend FE_SPECULAR2) 2 - SPECULAR CUBE (blend FE_MULTIPLY4X) 3 - BUMP (blend FE_BUMP) - this bumps the diffuse layer above it 4 - DIFFUSE (blend normal) I think that works, but I can't remember 100%. |
| ||
Oh. Don't use cubemaps with bump texture (EMBM), it's incorrect work on GeForce's! ;) p.s. Use DOT3 for specular map in your example... |
| ||
How can I change the color of a normalmapped model for simulate night-day cycle? I was try to change light color and ambientlight color but does not work. |
| ||
hm...getting mavs on "setbuffer backbuffer()" and "clscolor" calls with the appropriate lines highlighted in fastext.bb...even when adding those calls in the sample files of fastext...did i miss something? tried with blitz3d v1.99 and 1.100 and fastext 1.13trial... |
| ||
You need to startup the FastExt lib right after settings the Graphics3DGraphics3D(800, 600, 32, 2) InitExt() SetBuffer(BackBuffer()) |
| ||
thx :) |
| ||
I'm getting a crash when trying to use any post-processes after using a ClearWorld - it crashes with a MAV in function RenderPostProcess% at RenderPostProcess_ flags,x,y,width,height. The program is very complex but basically I am loading a front end scene, creating a camera, lights etc.. then using a motion blur post-fx. Then I ClearWorld() when exiting the front end and set up a completely new scene with new cameras, lights etc..., and in this main game loop if I use any post process effects then I get the MAV. If I remove the ClearWorld() then it works OK - any ideas? |
| ||
ClearWorld function kill all textures used in Postprocess system. Don't use ClearWorld before RenderPostprocess function - it's wrong! p.s. See FastExt_Example_ChangeResolution.bb as example. |
| ||
OK, thanks Mikhail, I'll check out that example. Is there any way to manually re-initialise the post-process textures? Also, I'm having a problem where the post process motion blur will not work in my main game loop - in the front end the motion blur works very nicely, but once I delete all the cameras, lights etc.. and then move to the main loop with new cameras,lights etc.. the motion blur refuses to work, despite all the other blur and post-process effects still working OK. I must be missing something obvious here...is there some problem with using the motion-blur post-process with one camera and then deleting that camera and creating a new one? Edit: Strangely, even if I remove the front-end completely it still won't work in the main game loop - I don't get any errors, just no motion blur....there must be something in my main program that's preventing the motion blur from being rendered, although I can't imagine what that could be. |
| ||
@Vorderman: Error in your source codes, I am absolutely assured of it. p.s. Can be many reasons for it. There is no sense to guess it without an source codes. Read help files and study examples... |
| ||
Mikhail, when will be release the next bugfree version of fastext? |
| ||
Yeah, I'm convinced there's something in the setup of the scene that's causing this, but I can't find it as it all appears to work correctly....any ideas on what sort of setup might cause the post-process render to fail? |
| ||
@Mike: The new version of the FastExt library will contain improved system of shadows (support LOD objects, receivers culling, correct tweening and etc.). "Bugfree" ?? |
| ||
No, your system is not buggy, it's a joke. I have a problem with shadow and autofade, you know. Your system is the best thing in Blitz3D community, seriously. |
| ||
I'd like the ColorFilter bug fixed - ie the one whereby you only get 3 fixed-shade colours of red, green or blue. |
| ||
OK Mikhail, I found the problem - calling UpdateShadows before the Renderworld is stopping the motion blur post-process working - comment out the updateshadows command and the blur works :(UpdateShadows GAMEDATA\camera1, frameTween# RenderWorld frameTween# CustomPostprocessBlurMotion 0.6, 0, 0, 0.5, 0.5, 100.0, 100.0, 0, 0, 255, 255, 255 RenderPostprocess FE_BLURMOTION |
| ||
Further info - the problem only occurs when assigning a shadow fade texture to the shadow system - remove the fade and the motion blur works. I shall keep investigating... |
| ||
@Mike0101: AutoFade problem will is eliminated in v1.14 @puki: ColorFilter without bugs! It's DirectX limitation, seriously. @Vorderman: Ok, I promise to solve this problem, please wait... |
| ||
Hi MikhailV, 1. Could FastExt allow shaders to be used in Blitz3D? 2. Is FastExt designed based on DirectX 7 or 9? Thanks in advance |
| ||
I know Im not MikhailV, but!!! >1. Could FastExt allow shaders to be used in Blitz3D? Nope, see below >2. Is FastExt designed based on DirectX 7 or 9? Its pure Direct x 7, Shaders are for direct x 9 |
| ||
Thanks, nrasool. |
| ||
Hey this thing supports spotlights! "MikhailV's" docs say directional lighting only. He lied and "puki" found out. He was keeping the good stuff secret. I smell a 'Left 4 Dead' Blitz3D clone in the air. Woof 'til it hurts. ![]() |
| ||
@puki: Yes, you right :) But the current shadow system was not ready for such light-source. You can show an example for community? :p |
| ||
Yeah, come on Puki - source please!! |
| ||
the current shadow system was not ready for such light-source You seem to be saying I have enabled a future feature, not yet available. I must be some kind of scientist or a god? "puki" has decided that what he has achieved must be so far beyond the rest of you that he is going to keep it to himself. I'll leave you all here, on your knees. I need to go off now and do my morning neck excercises, as I fear that one day my massive brain will snap my neck. |
| ||
@puki: You seem to be saying I have enabled a future feature, not yet available. I must be some kind of scientist or a god? You not understood. Library (DLL) can do this, but I had no time to do this possibility in ShadowsSimple.bb and ShadowsMultiple.bb source files, and create examples. This not it is difficult and no need to have a big intellect :) This will be in next version... |
| ||
Eh? You cannot just steal my lighting system. I tell you what; as you are my friend, you can put it in the next version for $50.00 USD. :) |
| ||
Thanks :D |
| ||
This is out of the kindness of my heart. I may have other improvements that you can also purchase from me. Remember this - there is nothing that you, or anyone, can offer me that I cannot simply take from you. Someday - and that day may never come - I'll call upon you to do a service for me. Until that day, accept my greatness as a gift that you cannot afford. :) |
| ||
Thank you, Godfather |
| ||
Mikhail, you have to try to understand Puki's sense of humour. The rest of us just have to live with it. |
| ||
How can I export a well textured model from max8 in b3d? In max8 I have very well normalmapped-textured models (diffuse-specular-bump) and I would like to use in blitz with this library. With Blitzpipeline I can't export with texture. After export I get a model with two texture layers without bump and specular effect. |
| ||
Any hints on how to get shadows cast from a spotlight instead of a directional? Creating a light of type 3 (spotlight) instead of directional doesn't seem to help, I still get directional shadows that just rotate with the camera viewpoint, rather than being cast relative to the camera's position. Do I need to hack about in the shadowsmultiple.bb file to get it working with spotlights? |
| ||
@Mike0101: Pipeline not support new texture-blends from FastExt :( You can assign the necessary properties to textures in your program only. Or change blends for textures in b3d file with HEX-editor. @Vorderman: Please wait FastExt 1.14 |
| ||
Can I modify the setcubemode parameter in b3d file with a hexaeditor? Is the a registered parameter in file? |
| ||
@Mike0101: I have not found SetCubeMode parameter in the b3d-specification. |
| ||
thx:( This is big problem. Without this setting very hard to create well textured models with nextgen look. |
| ||
Has anyone been able to get any of the post processing effects to work when shadowing is enabled? I haven't as of yet. |
| ||
Yes, they do work. Just adding the post process setup and render after your renderworld should do the trick. |
| ||
MikhailV, is there any way to get around dof messing with alpha objects / textures .. I cant renderentity every single alphad thing in my game :) heres a shot of the problem. What you see there the obect renders into the dof feild, even though the obect is up close ![]() |
| ||
Hi I bought the fastcompleteset ( fastextension + fastimage + fasttext )- a great libraries , a stupid question , I can use fastimage_1_73 in Blitz3D_SDK_v1.04 and BlitzMax ??? |
| ||
@RifRaf: Transparent objects not change ZBuffer values. I can offer to render transparent objects after using the DOF postprocess effect. I understand, this uncomfortably, but other decisions does not exist. In following version of the library will be an useful function, which can help you to separate transparent objects from opaque. @Cronos: I shall create libraries only and shall not create wrappers for other languages. You have an example for PureBasic, and you themselves can create wrapper for BMax. Who that already did this work earlier, can help you! |
| ||
MikhailV, do you have any news about next release of Fastext? New features, effects, release date, something special? thnx |
| ||
There has been an update today for Blitz3D - this breaks much of the lib. Many trap as a buffer MAV. Needs fixing. I need my anaglyph. |
| ||
The following release will be in the beginning of July. Update for Blitz3D? Where? *EDIT: Has already found :) |
| ||
I'd love to see a FastInput library that will let me use all the sticks on my XBox360 pad and apply force feedback to my steering wheel! |
| ||
Mikhail, I've just noticed that in your reply to my post about the specular effect you said this : "p.s. Use DOT3 for specular map in your example..." What did you mean here? Replace the cubemap with a DOT3 map? |
| ||
@Vorderman: I can be mistaken :) The main thing - to you was possible to achieve result. |
| ||
It was indeed, and I'm looking forward to the next Fastlib update! |
| ||
Have you managed to steal, I mean implement, my lighting system yet? :) |
| ||
I see the example - Create dynamic DOT3 with SetCubeAlign function a question , is possible use Object-Space Normal Maps or only Tangent-Space Normal Maps ??? |
| ||
Any clue or ETA when fast extension will work with the latest blitz3d update 1.100? Waited for that damn copyentity() fix for along time and still can't use it. |
| ||
@Cronos: May be. I have no 3d model with a specific texture (Object-Space Normal Map) for testing. @Swampdonkey: Please wait... |
| ||
@MikhailV: I send you a example , Object-Space Normal Map.zip |
| ||
@Cronos: For such models (with object-space normal map) it is not necessary cubemap. It is required to set color of model only, it is perfectly shown in an example. p.s. Remove please the email from your message, I do not wish to receive a spam. |
| ||
Why I cannot hide and/or delete the light I created for shadows? I just need it specify the direction for shadows, nothing more. I don't want to light characters with that light! And if I use a pivot or box instead of Light it always creates a default light. I cannot hide it before renderworld because it has no effect... I cannot even set lightcolor to black EDIT: the only way is to modify shadowsimple.bb |
| ||
You can use pivot, you mistaken or do some wrong. |
| ||
Hi MikhailV Just a test with the shadows method :) Can't wait to get autocast on the objects :) Many thanks to create this great lib... You can use the images for your site ! ![]() ![]() ![]() ![]() |
| ||
Just got the Fast Complete Set a couple days ago and I'm happy with it so far. It's really easy to use, I set up shadows in just a few seconds. I've heard that it(the Fast products) doesn't work with the new blitz version so I'm not installing the update till it's fixed. |
| ||
Those screenshots are sensational!! |
| ||
@Filax: On, man, great work! Perfect! You do not cease to surprise me. All the same I recommend to use shadow system only for dynamic objects. For static objects it is possible to use a classic lightmaps ;) p.s. Autocast? How? |
| ||
One problem I've found is that objects that are parented don't cast shadows correctly, they judder behind the object. For example, parent a cube to a pivot and move the pivot, and the shadow cast by the cube judders around instead of following the cube accurately. Mikhail : is this a bug you know about? |
| ||
Hi MikhailV Glad to ear you :) ! About shadows, it is possible to do the same as Xors3D (pssm) ? To solve the autocast problem (about autocast, i'm talking that an object can send and receive shadows)The PSSM seem to be a lightmaped ? Or maybe i'm wrong ? About eventual bug with fastext : I notify that the shadows do not work with autofaded object ! See ya informations: http://hax.fi/asko/PSSM.html http://appsrv.cse.cuhk.edu.hk/~fzhang/pssm_project/ Or PSSM variant : VSM http://www.punkuser.net/vsm/ With a method like this, FastExt will be absolutly PERFECT :) ! |
| ||
Now FastExt v1.14beta is available: - Now the FastExt library supports work with Blitz3D v1.101 - Shadow frameworks ShadowsMultiple.bb and ShadowsSimple.bb changed: - Fixed problem with tweening, example ShadowsSimple_Tween.bb; - Fixed problem with EntityAutoFade for casters; - Fixed conflict with postprocess effect FE_BLURMOTION - Now possible to attach entity as a receiver, to avoid wrong shades at intersecting casters and a receiver, example ShadowsSimple_ReceiversUse.bb; - Now possible to use low-poly model for shadows casting (LOD) and increases FPS in the application, and it will work automatically, example ShadowsSimple_LOD.bb; - New possibility to create a shadows from a Spot light source, example ShadowsSimple_SpotLight.bb; - New example ShadowsMultiple_IncreaseRangeTrick.bb, showing how to increase shadow area with two shadow objects simultaneously from one light source. - Work of function SetBuffer is optimised and more correct with RT-textures; - Functions EntityMask and RenderMask are added, look example FastExt_Example_RenderMask.bb; Attention! Shadow framework changed, now it is necessary to observe following rules: 1. If in a scene you use more than one camera it is necessary to hide them before call UpdateShadows function 2. If the first parametre in UpdateShadows function not the camera, it is necessary to hide this camera before a call of function UpdateShadows. - Do not forget to update dll, decls and include files! You can download library from a site (http://fastlibs.com) or from your personal account. Please, test it and inform on problems if they are found out. p.s. This version without help for new functions and only for testing and experimets. |
| ||
@Filax: PSSM — it is more difficult system, it cannot be made without use shaders :( About autocast (self-shadowing) — excuse me, but it is unreal in DirectX7, is required analogue of PSSM. @Vorderman: There can be a new version of library will correct this problem? Check up it please. If the problem is present, make for me a small example, I will try to solve it. |
| ||
And small screenshot from new example ShadowsSimple_SpotLight.bb ![]() |
| ||
That is my spotlight. |
| ||
80 or so posts ago, sorry, but with regard to cel-shading again... Is there any way to change the line thickness in the wireframe render mode? I have just discovered that the first process outlined (muahahaha) here is actually relatively easy to implement in theory, but the single-pixel-wide outlines of the standard wireframe mode aren't really very attractive - they really need to be two or three pixels wide. Or is this not an available option in DX7? EDIT: Actually come to think of it I suppose you could just offset maybe four copies of the object by an appropriate amount so that it looks like thicker lines. Not as efficient though. |
| ||
A question, are the shadows dinamically generated ? For example, if I move the leafs of a tree, does the shadow change accordingly in real time ? If this is the case, how fast it would be ? Thanks, Sergio. |
| ||
Ok ok MikhailV it was just a suggestion :) The lib is great at this state :) Keep up good job ! semar : Yes ! |
| ||
@Yasha: I remember, but no free time for this. At once I will tell - it is necessary to create outlines with old algorithm (CopyMesh + FlipMesh...), by means of the filter it is unreal (shaders is not present in DirectX7). And I can not change line thickness in the wireframe mode, it's impossible. But I can posterize image with filter - it's possible. @Semar: You can try it - download trial version here. It's very fast. Demonstrations on my computers show >200 FPS (Radeon X700Pro) and >600 FPS (Redeon HD4850). |
| ||
"semar" - if you don't have it already, then download the fully working demo version. |
| ||
Hello i have a little problem: I have for example a 3d room mesh. You know; walls, floor and the 2 chairs in the center of room. I've added a moveing around light too and everythings great but 1st chair projecting the shadow only to the wall's and floor, not to the 2nd chair and 2# chair projecting the shadow to the floor and walls, but not to the 1# chair. I know i can use 2 lights, and more shadow textures like in the TrickForPlatformers example but it's really problematicly in the biger mesh with lot's of difrent object("child"). So i wanna that each object in one 3d mesh projecting shadow to each other object in that same mesh automaticly. Is this possieble ? bless ;] sorry for my bad english :p Edit: My problem is easy to saw in the shadowsMultiple demo. Check out the palm's tree shadow- it's projecting to the big grey stone but not to the animated mesh. And the stone isn't projecting any shadow for ground. It isn't nice |
| ||
I modified the spotlight example to show it being used as a flashlight using the mouse) if anyone's interested. I'm not sure if EntityPickMode is supposed to work on an AnimMesh because it didn't work for me. |
| ||
@Play: Shadow system not support self-shadowing (autocasting) :( Read more about restrictions in Shadows_Help_Eng.txt file. |
| ||
EDIT: Disregard the below (unless you want to hunt out the example within the forums) - looks like "MikhailV" has already implemented it - ie if you set his Spotlight demo example to LightRange .1 and LightConeAngles to something tiny like 0,.1 you will see that it still works as per the previous values. Anyway, the point is that you don't actually have to use a hardware spotlight to create a spotlight. Anybody able to achieve the spotlight and resulting shadows without using a spotlight/hardware light? "puki" knows. Clue: you will call RenderWorld() twice - one of which will contain the required lighting (ie the spotlight level) on the entire scene - the second render will contain a 'portion' of that render on your dark/darker render. Submit your answers below. ps - the idea of the method is within these forums. Note: It is not "fredborg's", somewhat convulted, method that many people continue to refer to. Some of you will be very, very surprised at what you have missed and will look at "fredborg's" example and say to yourself 'He's having a giraffe!'. Seek it and you will have a spotlight and shadow system like that in 'Left 4 Dead'. Note: you will have to self-optimise it when you find it; however, it will work in its current state. |
| ||
@MikhailV: I tested all examples (FastExt v1.14beta) in Blitz3D v1.101 nice work !!!! only detect some errors in 2 examples FastExt_Example_FloorReflection ( reflect texture is black ??? , FloorReflection dont work ) FastExt_PostprocessBlurSpin (strange Blur effect error) test in - Windows Vista , 2gb Ram , Nvidia Gforce Go 6150 ,Amd turion 64x2 |
| ||
Ok, I will test it |
| ||
The spotlight demo is brilliant, excellent, great! Is this version faster then old one? Do you have any experience about this? |
| ||
Excellent update, thanks Mikhail!! Left 4 Dead Blitz, here we come!!!!!!!! |
| ||
Thank you very much MikhailV!! |
| ||
Wow. Nice. Love it!!! |
| ||
Is anyone able to 'properly' (ie better than me) make a selection of the png images whereby there are several sizes of the spotlight compared to the black background? You cannot just scale the texture after it has loaded as this will not have any effect. The point being that the textures are no good for different scale worlds, because the white alpha section needs to shrink and the black area grow in relation to each other. ie - the original fadeBlack.png: ![]() As the original is way too big for me, I hand carved this one: ![]() Mine is very rough as I had to shape it by hand as I am no good with 2D art stuff - I assume this is something that someone can make easily in PhotoShop, etc. My one is slightly too small, as I kept making mistakes and my attempts to re-shape it ended up with a smaller and smaller spot. So, if anyone can produce some of various sizes, then I think people will have a use for them. In the meantime, I shall soldier on hand-carving my own. |
| ||
Present for you, puki: |
| ||
My god that looks terribly exciting! Looks totally customisable too! I'll have a play with it. Sausages! |
| ||
Seems to work great! If anyone wants to licence my new CreateSpotlightTexture thing, then send me an e-mail and I'll work out some pricing. |
| ||
Silly puki anyone can make that... well I know I can at least... |
| ||
Ok, you can modify it (or make a new one) to make squares instead of circles - there is a use for square lights. "puki" waits. |
| ||
How about starting a new thread for your nonsense, and let this one remain focused on FastLibs & MikhailVS updates. |
| ||
Well I don't think it's quite "nonsense" seeing as you need a "sense" of smell to understand it all. |
| ||
FastExt v1.14 beta2 available! - fixed my bugs in examples FastExt_Example_FloorReflection & FastExt_PostprocessBlurSpin (and other FXs) - Added new Postprocess effect "Posterize" aka cel-shading or toon-shading (for testing) + example FastExt_PostprocessPosterize.bb. This can be not fast FX, please test it. I can't test, my videocard always shows more 600-700 FPS (HD4850). - Added new high-quality modes (2 & 3) for postprocess effects: Blur, BlurDirectional, BlurSpin. For correct work (without artifact) on very fast videocards. Download trial version HERE. And Retail version from your personal account. p.s. Do not forget to update dll, decls and included files! |
| ||
Woo cell shading!? I MUST TRY! Edit: It reminds me of Legend of Zelda: Wind Waker graphics. Cell shading (Posterize example) Stats 280-300fps disabled Level 0 - 115fps Level 1 - 80fps Level 2 - 47fps Processor: Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz (2 CPUs) Memory: 1792MB RAM Video Card: NVIDIA GeForce 9300 / nForce 730i Video Memory: 512MB Operating System: Windows XP Home Edition Service Pack 3 |
| ||
Too much excitement for me - it is like Christmas. |
| ||
Posterize: fps 838 545 2796 1136 -------------------------------- Intel Quad6600 @ 2.40ghz Geforce 8800gt 512mb Xp sp3 |
| ||
This gets better and better. |
| ||
Great Update , Thanks !!!! all examples ( FastExt v1.14 beta 2 ) in Blitz3D v1.101 it works fine :-) |
| ||
Puki is so funny. I'm readig his post always.:) |
| ||
Hmm.. the new shadow system is slower than the 1.13... Posterize: WindowMode Disable : ~3180 Lvl 0 : ~870 Lvl 1 : ~720 Lvl 2 : ~530 FullScreen Disable : ~3374 Lvl 0 : ~1000 Lvl 1 : ~828 Lvl 2 : ~614 Core2Duo @ 3.80GHz GeForce GTS250 Vista SP2 |
| ||
Jees you guys are getting huge FPS numbers compared to mine... maybe I need to change my video card :P I've heard its not meant for game usage anyways. |
| ||
Yes, I seem the new shadow a bit slower then 1.13. |
| ||
@Mike0101: You can use old include-files for shadows (if it really faster), but it return problems with tweening. |
| ||
MikhailV i switched my gui from using the main camera to a seperate camera, now that im using two cameras, DOF has stopped working. I have tried hiding the gui camera before postprocess effects, then showing it again after. This did not work. All the other effects seem to be ok, such as glow, and grayscale. But DOF has stopped. Any ideas how to get dof working with a second camera active? |
| ||
Don't clear ZBuffer! DOF fx can't work without correct ZBuffer data. Set CameraClsMode GUI_camera, 0, 0 for second camera in the 3D world used for GUI. And I recommended to use one camera only for the 3D world. |
| ||
MikhailV, im already setting up the GUI camera like that Global cam=CreateCamera() Global hudcam=CreateCamera() CameraClsMode hudcam,False,False CameraRange hudcam,.1,2 now if I do this Global cam=CreateCamera() Global hudcam=cam Then DOF will work again , but without the second camera. Is there anything else that would cause DOF to fail with gui camera? Im using SpriteCandy as a hud on the gui camera, but I looked and it seems SpriteCandy does not modify the zbuffer. Edit: i put a second camera into the dof example and it messed that up as well. I did not use sprite candy there.. just made a new camera with clsmode 0,0 Only way I can get dof to work is entityorder hudcam,1 but that naturally removed the hud from view. |
| ||
DOF fx uses current View-matrix, Projection-matrix and ZBuffer from DirectX for work. Your GUI camera - it's last camera in Render flow, and it changes matrixes and disturbs functioning the DOF effect. Exists two solutions of the problem: 1. Main and GUI camera must be absolutely identical (Position, Rotation, Scale, Range, Zoom, camera Viewport, ProjMode), but ClsMode must be 0, 0 for GUI camera. 2. Or use RenderWorld separately for every cameras. ; render scene HideEntity GUI_camera ShowEntity Main_camera RenderWorld RenderPostprocess FE_DOF ; render gui ShowEntity GUI_camera HideEntity Main_camera RenderWorld |
| ||
A second render did the trick, thank you . |
| ||
And Retail version from your personal account. I just bought FastLibs. What personal account? Where is it!! |
| ||
http://www.fastlibs.com/login.php |
| ||
I had the same question in my mind when I saw that. The login button is at the very bottom of the page and I think you have to ask for your username and password and it will email it to you. |
| ||
So FastLibs works with the latest version of b3d now? v1.11? |
| ||
FastExt v1.14 beta2 works with Blitz3D v1.101 ;) JP |
| ||
Can you use a spotlight as a flashlight and still cast shadows from another light using the ShadowsMultiple.bb?? |
| ||
I had the same question in my mind when I saw that. The login button is at the very bottom of the page and I think you have to ask for your username and password and it will email it to you. Left support ticket and still no reply.. Brought FastExt about two weeks ago.. |
| ||
Hi, just a little notice for treeparty and fastextension owners - http://www.blitzbasic.com/Community/posts.php?topic=86311 |
| ||
Do you have idea for "hot air" effect? You know when the horizon is weaving in sunshine in the desert. I think Fastex is able to create but I can't.:) |
| ||
The way Grand Theft Auto San Andreas does the heat effect (from what I saw) is they use rising alpha squares. If you have the game, just go to CJ's house and stand in the street, you'll notice a bunch of quads or squares floating up. |
| ||
This smart small code doesn't work with depth of field. Where can I hack the cameraviewport command in fastib for the right working?Const monratio# = 16/10. ; Enter your monitors aspect ratio Const w_width = 800 Const w_height = 600 Const w_mode = 1 Graphics3D w_width, w_height, 0, w_mode : WireFrame 1 cam = CreateCamera() multiX# = 1. multiY# = 1. If w_mode=1 multiX# = monratio#/(4/3.) multiY# = (Float(w_width)/Float(w_height)) / (4/3.) EndIf CameraViewport cam, 0, 0, w_width * multiX#, w_height * multiY# |
| ||
@Mike0101: DOF FX has some restrictions and can work only for whole screen. I recommend to use ScaleEntity function for Camera to correct aspect ratio. About "hot air" effect - see FastExt_Example_EntityRefraction.bb example. And use sprite + anim-texture for distortions (refractions). |
| ||
Hello is it possieble to change glow fx to get something like post glow inset effect from this website: http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html bless :) btw. great toon update ;) |
| ||
Possible :) |
| ||
Thank you Mikhail |
| ||
@Mike0101: updated my code to work with FE-DoF ;) -> http://blitzbasic.com/Community/posts.php?topic=86331 @MikhailV: thanks for the hint on ScaleEntity!!! |
| ||
@chi: Cool, thx |
| ||
Play, that "inset glow" can be achieved by just using a Sphere map. Just use a sphere map like this with additive blending:![]() |
| ||
That's not a sphere map! That's just a sphere. |
| ||
Actually, a circle :P |
| ||
Actually a black hole into nothingness (:D |
| ||
Mikhail, do you have any plans to convert your libs for use with miniB3D? That will be VERY handy.. |
| ||
Do you have to have a spherical reflection map or cubemap to get a bumpmap to work ? |
| ||
bump out of frustration .. how can one make somthing like this work. basically im looking through the surfaces of a mesh, and if a bumpmap texture exists for the surface , im applying it.. but apparently im not applying it properly Function Addbumpmap_map(ent,mapname$) ChangeDir thispath$ scount=CountSurfaces(Ent) For i=1 To scount s=GetSurface(ent,i) b=GetSurfaceBrush(s) t=GetBrushTexture(b) th$=TextureName$(t) ;ok strip the filename from th$ path$=get_path$(th$) ;just the filename$ fn$=strip_path$(th$) ;fn with no extention fn_bare$=strip_extension$(fn$) ;see if a bumpmap file exists to match used color texture If FileType ("maps\"+mapname$+"\"+fn_bare$+"b.png")=1 Then ;exists bump_brush=CreateBrush(255,255,255) tex=LoadTexture("maps\"+mapname$+"\"+fn_bare$+"b.png") TextureBlend tex,FE_BUMP TextureBlend t,2 BrushTexture bump_brush,tex,0,0 BrushTexture bump_brush,t,0,1 BrushBlend bump_brush,FE_BUMP PaintSurface s,bump_brush FreeTexture tex FreeBrush bump_brush FreeTexture t FreeBrush b EndIf Next End Function |
| ||
>> BrushBlend bump_brush, FE_BUMP - wrong code, delete this line. Use FE_BUMP constant with TextureBlend function only. See examples from library archive. |
| ||
thanks, but ive tried it with / without and a few other blend modes as well.. Can you advise me on how to write the above function ? Ive read the examples and tried to apply them , but it hasnt worked. edit: im having some success by adding cuebmaps to the mix, but not good enough yet. edit2: well my bumpmaps may be garbage, I bought a package from totaltextures set cd #15, and all the included bumpmaps are greyscale, not the blue color yours are.. I tried one of yours and it worked much better. Can I get the grayscale bumpmaps to work somehow ?? OK EDIT #3... I found a very useful tool for converting bump maps into normal maps (Wich is what fastext needs it seems ?) http://ati.amd.com/developer/sdk/radeonSDK/html/Tools/ToolsPlugIns.html all is working great now!! |
| ||
MikhailV, Ive been trying to produce an effect, and I just cant seem to get it right. Could you tell me if this is possible and if so, how. I want my bump mapped surfaces to illuminate from my player , then outward. Nomatter what kind of cubemap I can come up with, and nomatter what entity I align it to (lightsource, playermode, camera) it doesnt produce the effect. Heres an image wich shows what I am getting. The small illustration in the upper left shows what I want to acheive. Any tips or help would be appreciated ![]() As you can see the illumination stretches from the player/camera in a line across the surface, what im trying to do is illuminate a circle with the player being in the center. |
| ||
@RifRaf: I it is difficult to understand that you want to get. But I can expect that cubemap is displayed wrong, because not correct use cubemaps with bump (this noticeably on NVidia videocards). I recommend see example - FastExt_Example_FloorReflection.bb - and attentively study it, he solves such a problem. |
| ||
ok thank you , one more question. Do you have an example of illuminating a bumpmap from more than one lightsource ?? EDIT: i was also wondering if theres any way to hook B3Ds texturefilter() so that we can add filters for bump,bumplum, specular0,1,2,&3 if that were possible, setting up meshes for fe materials would be sooo much easier. |
| ||
You can disregard my prev questions ive made my own discoveries there, however im getting a memory leak when I do the following between levelsDeInitExt() ClearWorld(1,1,1) InitExt() can you see any reason why this would happen, if I do not deinit and reinit the library then the memory leak goes away. |
| ||
Hi MikhailV! I was testing latest fast_text and I noticed that it's extremely slower than blitz3d default text function in certain situations. I was trying it with DevilGui system. http://devil-engines.dev-ch.de/Frame_Main_DGui.html ...just can't figure out why it is so sloooow. What's the reason??strange... |
| ||
Hi FlagDKT! Can be two problems: 1. You draw text with antialiasing 2. You use OS Vista (dx7 emulator) If Unicode support is not required for you, I recommend to use FastImage library for text-drawing. |
| ||
Hi MikhailV Do you have any news about 1.4? |
| ||
@MikhailV 1. smooth=FT_DEFAULT, encoding=FT_UNICODE 2. windows xp did you try the sample in devilgui? just run the example provided and include Fasttext_Unicode.bb |
| ||
@FlagDKT: Strange, on this OS never was problems. Please try example FastText_SpeedTest_BlitzText_VS_FastText.bb from library archive. And... I can't try the sample from devilgui, no free time for this, sorry. @Mike0101: I search for a new way to accelerate rendering of group of entity. But at me good news, testing of many people has shown that the FastExt 1.14 Beta2 does not contain bugs! (only insignificant reduction of speed in shadow system). |
| ||
Cool, thank you. I'm using beta2 too without bugs but the shadow system speed. |
| ||
the FastText_SpeedTest_BlitzText_VS_FastText.bb works great... that's why I decided to boost devilgui libs speed with fasttext... |
| ||
MikhailV: Maybe it is out of context, but FastImage has been made compatible to Xors3D. But when will FastImage be ported to BlitzMax? I intend to use FastImage for BlitzMax and with Xors3D. Thanks and sorry if the topic is out of context. |
| ||
:( no way to know what's up with fasttext? :( |
| ||
MikhailV. I focused the FastText problem. Download example As you may see in the example, it is caused by viewport() + drawimage() commands. Can you fix it, or there's too much work? ..and DrawImageEx doesn't work after renderworld() ..shit! |
| ||
I see such infos in your example: 4-5 ms for Blitz text 3-4 ms for Fast text I have a little changed a code to see drawing time: Where a problem? p.s. DrawImageEx and other functions from FastImage work between StartDraw and EndDraw functions only. And can be work before RenderWorld function and after Render world without any problems, see examples... |
| ||
I compiled those lines of code and I got: 5ms Blitz3d 44ms FastText tested on: nvidia 7900gt nvidia 8800gt windowsxp sp2 directx9c could someone please test it too? p.s. Even switching to drawimageex/setviewport I get same milliseconds... the problem is in viewport()/setviewport() clipping commands because If I don't use them I get: 90ms Blitz3d 45ms FastText |
| ||
Strange, I'm testing this on old low-end videocard Radeon X700 128Mb... (Windows XP SP2, Cpu 3 GHz) |
| ||
noone could test it? :( |
| ||
Nvidia 9300 2-30ms Blitz3D 30-50ms FastText |
| ||
Thx Gia :) then id demonstrate Fasttext has some problems with viewport() + drawimage() Hope MikhailV knows what's happening :) |
| ||
Hey MikhailV, I know you are starting to hate me :) ...but... with my config: winxpsp3 gf8800gt dx9c Glow at 640x480 produces these artifacts... ![]() on my other pc with gf7900gt it works correctly... strange...why all other postprocess fx work without any problems? and...news about fasttext bug? thx |
| ||
Hi I don't know if anybody has discussed this here or not, so i thought I'd ask about self shadows. I read above that fast extend shadows doesn't support self shadows or self casting, and was wondering if using a separate shadow lod object would do the same thing? I've created models for VBS2 (Virtual Battlefield Simulator) in the past and models implemented a separate shadow volume (lod). As the main model for example has say 5000 triangles and the lod has 1000, could one effectively use the shadow lod to cast shadows on both the the surrounding scenery (terrain and objects) as well as the main model? |
| ||
been there. done that. doesnt work. the problem is the mesh receiving its own shadow, as the shadows are projected to infinity in both up and down direction...i modified one of mikhails pictures to demonstrate, what i mean: ![]() |
| ||
Hmm. just had a play with using a shadow lod model and the shadows were ewwww! Looks like I'll have to look at an alternative method of getting shadow to work. |
| ||
Hi FlagDKT :) I could not find the computer on which the FastText library works more slowly a natural Blitz3D. BUT I precisely know that speed will be more low in OS Vista (may be in Windows7). As the conclusion - I wish to recommend use FastImage library (for text drawing) if Unicode support is not required to you. The FastImage library always will faster draw, as it is based on the DirectX, instead of on OS API (GDI and GDI+). About Glow FX - you can use other quality setting for FX to get rid of any artefacts (quality% = 2 or 3). It more slowly, but guarantees higher quality. Read more in help file about CustomPostprocessGlow function. |
| ||
Ok...I will try to use fastimage instead of fasttext :) about glow fx.. I Tried all quality settings. The problem is the 640x480 resolution. At 800x600 no problems at all! |
| ||
By the way, I use Windows XP. |
| ||
me too |
| ||
I'm using shadow LODs in SRX for the car shadows, and they work perfectly, although right now I can't recall how I got them to work. However, they do work very nicely indeed, and massively decrease the casting-shadow polycount (no idea if that helps the framerate or not though..) |
| ||
Continued on thread 5. |