Search Home Members Contacts
About Us
Products
Downloads
Community
Support
Pages: 1 2 [3] 4 5
  Print  
Author Topic: TVSM  (Read 9423 times)
GD
Customers
Community Member
*****
Posts: 367


« Reply #40 on: March 16, 2008, 05:59:32 PM »

Thanks for compliments.
Sure, I'll add it. I'll make occluder render function inheritable and public. That will give you full control.
Logged

tvsm.co.cc - TVSceneManager
Insane_Genius
Community Member
*
Posts: 86


« Reply #41 on: April 16, 2008, 06:17:11 PM »

excellent job GD! It looks awesome.
Logged
GD
Customers
Community Member
*****
Posts: 367


« Reply #42 on: April 17, 2008, 05:27:51 PM »

Thanks.

I announce that with new TV DLL, also comes out TVSM .NET 0.85 version. I have to wait to new dll because it contains some bug fixes and some handy functions that were missing. New TVSM has lots to offer, I'll tell you about it later...

One nice new thing is per-object transparency sorting:

Hmm seems like RenderAllMeshes(true) handles sorting with some trouble:


Here's how TVSM handles it:


Be patient, see you soon.
Logged

tvsm.co.cc - TVSceneManager
vbCrLf
Community Member
*
Posts: 315


WWW
« Reply #43 on: April 17, 2008, 05:35:44 PM »

Thank you very much GD! Can't wait to try it...

vbCrLf.
Logged

TVProjects
JohnB
Customers
Community Member
*****
Posts: 174


« Reply #44 on: April 17, 2008, 05:37:56 PM »

Woot! Thanks for the update GD.

John B.
Logged
SylvainTV
Administrator
Community Member
*****
Posts: 4479


WWW
« Reply #45 on: April 26, 2008, 05:31:00 PM »

Hehe the sorting problem with RenderAllMeshes was because SetBlendingModeEx doesn't tag the mesh as "alpha". Now it's fixed Wink
Logged

Regards

Sylvain Dupont
TrueVision3D Developer
sylvain@truevision3d.com

TV3D IRC at http://chat.truevision3d.com or on server irc.truevision3d.com #Truevision3D. Come talk with us !
JohnB
Customers
Community Member
*****
Posts: 174


« Reply #46 on: May 02, 2008, 01:36:28 PM »

Hey GD, How's the new version comming?  I saw you mention it handling indoor scenes on the IRC - sounds great!  Any other new features?

Thanks,

John B.

Logged
GD
Customers
Community Member
*****
Posts: 367


« Reply #47 on: May 15, 2008, 05:55:46 AM »

New TVSM 0.85 for .NET is out! RaineC and I made many internal changes and some new good features. www.tvsm.co.cc website is also updated with changelog and roadmap added. Check out the roadmap on website and give some comments if you have any. Version 0.85 was ready for a while, I was waiting for new TV dll release. Since I cant wait more (new features wait to be implemented), I release it...

Changes I can remember:
# better architecture, faster code, more dotNetty code
# fixed collision bugs, faster ray-aabb test
# Particlesobject - wrapping TVParticleSystem
# Landscapeobject - wrapping TVLandscape
# custom occluder rendering - allowing actors, terrains and stuff to be occluders
# landscape support in occlusion cull
# cull auto mode (experimental version)
# object auto update (Sceneobject.SetAutoUpdate + Scene.PerformAutoUpdates)
# transparency sorting (in TV3D it's named alpha sort)
# tv3d objects update of collided or visible objects for Actors and Particles

For people who use the library (if there are any Tongue), you will have to change a little bit your code because of the different architecture:
* CullScene instead of FrustumCull and OcclusionCull
* CollisionLineSegment instead of CollisionRay
* OccluderData instead of OcclusionMesh
* etc, you'll figure it out

Btw, I'm not sure will it compile with current TV dll.

edit:
Just a little note comrades. I've seen that TV3D community slowly started capitalizing their tools, code and library selling have started to develop. I support that. But I want to say that every version of TVSceneManager will stay free.
« Last Edit: May 15, 2008, 06:20:55 AM by GD » Logged

tvsm.co.cc - TVSceneManager
vbCrLf
Community Member
*
Posts: 315


WWW
« Reply #48 on: May 15, 2008, 10:27:13 AM »

This is the one of the best TV3D extensions. TVSM doubles the performances, it is easy to implement and free.
Thanks GD!

vbCrLf.

EDIT: You can update on TVProjects too  : )
Logged

TVProjects
Raul
Customers
Community Member
*****
Posts: 394


« Reply #49 on: May 15, 2008, 03:04:43 PM »

i do not know how to use it in VB.net... any docs available? i have tried to "translate" the code from C# but i still have problems..

for example, i tried to delcare:

Code:
Public MyScene As TVSceneManager

but does not work. please someone make a little tutorial ?

Logged
Lenn
Customers
Community Member
*****
Posts: 454

Ivan Miskelic


« Reply #50 on: May 15, 2008, 06:21:27 PM »

Yeah, this rocks! Would be even nicer if we also had a VB version. Smiley
Logged

JohnB
Customers
Community Member
*****
Posts: 174


« Reply #51 on: May 15, 2008, 07:55:00 PM »

Wow - looks awsome GD!  Thanks again for all your hard work on this. 

John B.



PS - I understand that you want to keep it free but you really should consider setting up a way to send you donations or something.
Logged
Raine
Customers
Community Member
*****
Posts: 1190


« Reply #52 on: May 16, 2008, 12:47:47 AM »

So long as it uses .net, you can use it with any .net language, guys. If we're talking about VB6, that's a different story

Raul, what error are you getting? Can't quite tell what happens without more info Tongue
« Last Edit: May 16, 2008, 12:49:51 AM by RaineC » Logged

Raul
Customers
Community Member
*****
Posts: 394


« Reply #53 on: May 16, 2008, 01:10:24 AM »

I use VB.NET

I just want to know how to declare the TVSceneManagement and how to add Meshes to this custom scene. Like in your C# example..
Logged
Go+
Community Member
*
Posts: 69


WWW
« Reply #54 on: May 16, 2008, 01:39:31 AM »

This is should work in vb.net:

Code:
Public advancedScene As TVSceneManager.AdvancedScene

Code:
' create the scene
advancedScene = new TVSceneManager.AdvancedScene(new TV_3DVECTOR(-2050, -5, -2050), new TV_3DVECTOR(2050, 200, 2050))

advancedScene.SetSceneTree(8, 40)

' change the resolution for occlusion culling
'initially it's the half of the main resolution size
AdvancedScene.OcclusionResolution = new TV_2DVECTOR(300, 225)
AdvancedScene.OcclusionActiveOccluders = 15
AdvancedScene.OcclusionMaxDistance = 250
AdvancedScene.OcclusionMaxQueries = 2000

Add a object ex TvMesh:
Code:
'Create the tvMesh:
Dim Mesh As TvMesh = tvScene.CreateMeshBuilder()
'Load mesh ect....

'Add the mesh to the TVSM scene:
obj As MeshObject = new MeshObject(Mesh)
advancedScene.AddObject(obj)
obj.OcclusionEnabled = true

Code: (Main loop)
'Cull the TVSM scene:
advancedScene.CullScene(AdvancedScene.CullingMode.OcclusionCull)

TV.Clear()

'Render everything in the TVSM scene:
advancedScene.RenderScene(true)

TV.RenderToScreen()


Code: (Destroy)
' destroy all objects in scene
advancedScene.RemoveAllObjects(true)

I have not tested any of it I just converted it to vb.net.
Logged
Raul
Customers
Community Member
*****
Posts: 394


« Reply #55 on: May 16, 2008, 02:53:53 AM »

thanks. i will try it when i will go home. (in about 8 hours.) i will tell you later if works.
Logged
GD
Customers
Community Member
*****
Posts: 367


« Reply #56 on: May 16, 2008, 08:28:55 AM »

Quote
Public advancedScene As TVSceneManager.AdvancedScene
Yes, TVSceneManager is a namespace, AdvancedScene is scene class.

Quote
i do not know how to use it in VB.net... any docs available?
Tutorials will be made, and the samples in next versions will also be available in VB.Net.

Quote
So long as it uses .net, you can use it with any .net language, guys. If we're talking about VB6, that's a different story
... and we dont have time to write it in VB6. Well, maybe for 1.0 version I make functionality through C++ dll, we'll see.

Quote
TVSM doubles the performances, it is easy to implement and free.
Please keep in mind that TVSM is not only here for performance reasons but for easy object management... simple way to access visible objects, access collided objects, make your own object types based on others, pre and post render or update events, filtering the objects for special render (glow and stuff), etc etc.
Only drawback in TVSM is having to call SceneObject.Update after you update TV object (because TV doesn't support callbacks Sad ).

Quote
I understand that you want to keep it free but you really should consider setting up a way to send you donations or something.
How do you know RaineC and I are poor?! Tongue Bah, I would be happier you donated your money somewhere more necessary.
Logged

tvsm.co.cc - TVSceneManager
Raul
Customers
Community Member
*****
Posts: 394


« Reply #57 on: May 16, 2008, 01:02:19 PM »

me again:

well the code works, but i have some black parallel lines on my mesh (it is a floor) when i move the camera up and down.

anyway i want to put a question:

what mens:
Code:
Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated.

i receive 4 warnings likr this because of this lines:

Code:
        advancedScene.OcclusionResolution = New TV_2DVECTOR(300, 225)
        advancedScene.OcclusionActiveOccluders = 15
        advancedScene.OcclusionMaxDistance = 250
        advancedScene.OcclusionMaxQueries = 2000

thank you Smiley
Logged
GD
Customers
Community Member
*****
Posts: 367


« Reply #58 on: May 16, 2008, 01:57:48 PM »

Occlusion properties are static which means you should access them with AdvancedScene.Occlusion*** = ***. But hmm since VB.net isn't case sensitive so I recommend that you rename advancedScene variable (to myScene or whatever) Smiley
Logged

tvsm.co.cc - TVSceneManager
Raul
Customers
Community Member
*****
Posts: 394


« Reply #59 on: May 16, 2008, 02:33:04 PM »

Occlusion properties are static which means you should access them with AdvancedScene.Occlusion*** = ***. But hmm since VB.net isn't case sensitive so I recommend that you rename advancedScene variable (to myScene or whatever) Smiley

still same warnings..

btw:
i have tried to use your code in order to make some grass. i used minimesh and i receive a very low FPS...

then i decide ti duplicate my initial mesh (grass one) like in your example but still same problems..

this is my code:

with 8000 meshes i have 50 FPS... very low. in my initial code i have 50.000 minimeshes and i have 60 FPS. if i use here minimeshes my app crash over 5000..
Code:
        ' create the scene
        MyadvancedScene = New TVSceneManager.AdvancedScene(New TV_3DVECTOR(-500, -5, -500), New TV_3DVECTOR(500, 200, 500))

        MyadvancedScene.SetSceneTree(8, 40)

        ' change the resolution for occlusion culling
        'initially it's the half of the main resolution size
        MyadvancedScene.OcclusionResolution = New TV_2DVECTOR(300, 225) '512 384
        MyadvancedScene.OcclusionActiveOccluders = 15
        MyadvancedScene.OcclusionMaxDistance = 250
        MyadvancedScene.OcclusionMaxQueries = 2000

        'create the scene
        Tex.LoadTexture("..\..\data\grass.jpg", "street")
        Mesh(0) = New TVMesh
        Mesh(0) = Scene.CreateMeshBuilder("Teren")
        Mesh(0).AddFloor(Globals.GetTex("street"), -500, -500, 500, 500)

        'Add the mesh to the TVSM scene:
        Dim obj As MeshObject = New MeshObject(Mesh(0))
        MyadvancedScene.AddObject(obj)
        obj.OcclusionEnabled = True

        'Grass Mesh
        Mesh(1) = New TVMesh
        Mesh(1) = Scene.CreateMeshBuilder("GrassMesh")
        Mesh(1).LoadTVM("..\..\data\grass.tvm", True, True)
        Mesh(1).SetScale(0.2, 0.2, 0.2)
        Mesh(1).SetBlendingMode(CONST_TV_BLENDINGMODE.TV_BLEND_ALPHA, -1)
        Mesh(1).SetAlphaTest(True, 128, True, -1)
        Mesh(1).SetCullMode(CONST_TV_CULLING.TV_DOUBLESIDED)
        Mesh(1).EnableFrustumCulling(True)

        Dim I As Integer
        Dim x As Integer
        Dim z As Integer
        Dim ts As Single

        I = 0

        Do While I < 8000
            x = RndInterval(-500, 500)
            z = RndInterval(-500, 500)

                ''Add the mesh to the TVSM scene:

                Mesh(2) = Mesh(1).Duplicate("", True)
                Mesh(2).Enable(True)
                Mesh(2).EnableFrustumCulling(True, True)
                Mesh(2).SetPosition(x, 0, z)
                Mesh(2).SetRotation(0, RndInterval(0, 360), 0)

                ''Add the mesh to the TVSM scene:
                Dim obj2 As MeshObject = New MeshObject(Mesh(2))
                MyadvancedScene.AddObject(obj2)
                obj2.OccluderData = Mesh(2)
                obj2.OcclusionEnabled = True

                I = I + 1
        Loop
Logged
Pages: 1 2 [3] 4 5
  Print  
 
Jump to:  

Powered by SMF 1.1.3 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks