Search Home Members Contacts
About Us
Products
Downloads
Community
Support
Pages: 1 2 3 [4] 5
  Print  
Author Topic: Prerelease Completion / Progress post.  (Read 42157 times)
SylvainTV
Administrator
Community Member
*****
Posts: 4436


WWW
« Reply #60 on: October 30, 2005, 12:45:51 PM »

New update today :p

Let's start with the Maya exporters :
   -> New Maya7 exporters
   -> Maya 5, 6, 6.5, 7 have been fixed.
   -> Corrupted animation problems fixed  
   -> No more crashs
   -> Export selected only  working (for geometry).
   -> Now exports correctly with normals and Z flip.
   



Actor fixes/additions :
   -> Shadow for actor and point light fixed (this one was stupid : normalizing a point light huh)
   -> Fixed a problem with animation corruption (linked to the Maya fix too)
   -> Now the boneoffsets are saved for each actor data. Be sure to reexport everything into TVA with newest dll and plugins.
   -> Added GetParent function.

Mesh fixes/additions :
   -> Added GetTriangleInfo : it returns the 3 vertices that composes the speficied face. Can be useful to use with GetVertexInfo. It returns also the group index of the face.
   -> Fixed SetGeometry when using high number of vertices.
   -> You can now create meshes > 64 triangles , > 64 vertices with AddVertex/AddFloor/AddFloorGrid
   -> Added GetParent
   -> Fixed SetParent/attachTo, now it will be directly attached without the need of moving/rotating the parent object.  
   -> Mesh LoadTVM/SaveTVM should now load/save the 4 texture layers.

Path
   -> Fixed the offset of 1 node when using GetSplinePoint.
   -> Added GetPathType

AI
   -> Added IsNodeEnabled
   -> Added GetNodeByPosition
   -> Added GetNearestNode

Physics engine
   -> New release of Newton
   -> Improved vehicle system (more to come)
   -> Added GetCenterOfMass/SetCenterOfMass, VERY useful to change the center of mass of bodies.
   -> warning ! this release allows only the body to be in the box (-10000, -10000, -10000)-(10000, 10000, 10000), else the bodies are freezed.
   -> a SetWOrldSize function will be added for next release.
   

Particle system :
   -> added methods to globally  move / rotate the particle systems : SetGlobalPosition, SetGlobalRotation, SetGlobalMatrix , GetGlobalPosition, GetGlobalMatrix
   -> fixed the loading of texture in ParticleSystem.Load
   -> Added GetParent

Landscape :
   -> Added the missing PosY in CreateEmptyTerrain function.
   -> Added ReplaceSplattingAlpha(iCurrentAlphaTexture,iNewAlphaTexture)  to substitute quickly a new alphamap (can be used to animate alpha map for example)



TextureFactory
   -> Added DestroyTextureCycle

Multithreading
   -> You can use multithreading in the engine, some critical sections have been added at strategic places to avoid deadlocks and crashes. To use multithreading, make sure you call TV.AllowMultithread true before the engine initialization.
   -> HOWEVER This can bring some performance issues. If you notice that your program is anormally slow, please post about the problem. It shouldn't happen. In this case, I will modify the code so that you can choose to use or not use the multithreading thing.
   -> TextureFactory system was totally changed, if you notice crashes/problems with textures, please let me know.
   -> Changed COM mode to "Both" and "Multithreaded"

Misc.
   -> Some bugs fixed :p
   -> Some .NET wrapper bugs fixed (aka Array usage or return parameters)
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 !
SylvainTV
Administrator
Community Member
*****
Posts: 4436


WWW
« Reply #61 on: December 22, 2005, 01:40:07 PM »

Hello, after almost 2 months without anything, here comes a small release.

No, no, no, the octree isn't here yet. It's in development and not yet usable, so no interface to it yet Smiley


So here is a very small list of the recent changes/additions. Some things will be missing because I don't remember everything.



Important changes !
-> SetSceneBackground in scene was renamed to SetBackgroundColor
-> Culling is now reversed ( as it should be ), so TV_FRONT_CULL becomes TV_BACK_CULL and the opposite.. Be careful !


* DirectX SDK update
  -> updated to December 2005 release. This means that the dll uses now the d3dx9_28.dll Smiley It's as usual available on the beta page.
  -> you can also download and install the lastest DirectX binaries.

* Newton engine update
  -> Lots of new things here.
  -> Newton engine updated with totally rewritten collision system, more joints support, and lots of instability bugs are fixed.
  -> Vehicles should be fixed now : if you used AddVehicleWheelEx you have to adapt shock and spring values to higher values, else use default in AddVehicleWheel
  -> added SetWorldSize, if your world is bigger than default (-10000,-10000,-10000)-(10000,10000,10000) box.
  -> Added Universal joints with limits. Universal joint has 2 degrees of freedom.
 
* Landscape
  -> Added GetChunkIDFromPosition/GetChunkID, two helper functions
  -> Fixed detailmapping and terrain rendering when you disable splatting on some chunks.


* Effects
  -> Water reflection/refraction : added a GF3 render path without ripples. Now you can get good reflection even on a GF3.
  -> Added also a "only reflection" mode. You get only reflection when you pass Nothing/Null to the SetWaterReflection call.
  -> Fog is now enabled again. If you notice the water is too fogged, be sure to disable fog before render the water mesh.
 
  -> Motion blur improved : now faster in "normal" mode, there is a slower but better quality mode (more filtering) available in the motion blur parameters.
  -> Motion blur weird results on GF FX cards are fixed now. (silly division by 0)

* Shader
  -> Various SetParam*** functions fixed (was wrong formats)


* Actor
  -> Fixed some big problems when saving/loading to TVA

* Misc.
  -> Some wrappers bugs have been fixed, and some memory leaks removed.. as usual Smiley

* Forgotten things

sorry if it doesn't seem a lot for 2 months, but there are changes that you don't see yet, linked to octree etc.. It's taking its time

Anyway, you won't see me for a week, i'm going into the alps Smiley but i bring my laptop Wink[/b]
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 !
darqSHADOW
Administrator
Community Member
*****
Posts: 2721


« Reply #62 on: January 02, 2006, 05:51:14 PM »

Recompiled and uploaded the ParticleEditor to work with the newest DLL.  I will have to grab the MV source again to recompile that, but I'm working on it.  Wink

DS
Logged

TrueVision3D Project Manager
The fast and simple way of 3D development.
Arli
Administrator
Community Member
*****
Posts: 993


« Reply #63 on: January 14, 2006, 09:17:44 PM »

New MV version is up!

It is recompiled to work again along with some new features.

Changes:

* Grid Added
* Ability to see where the Spot/Point lights are located
* 2D Grid
* New Animation Panel
* Motion Blur Added in MV
* A bunch of fixes with the texture stages and render states and other small stuff.

Working on support for loading shaders in MV, applying per group and automatic reload for instant ability to check changes to the shaders.

You need the dx9 28 dll for this of course!
Logged

Happy Coding

Arli
Truevision3D Developer
Arli@Truevision3D.com
SylvainTV
Administrator
Community Member
*****
Posts: 4436


WWW
« Reply #64 on: February 23, 2006, 08:01:16 PM »

Here you go a new release


-> Engine fixes and additions
 

External libraries :
  -> Now use D3DX 29 dll ! Be sure to download latest Directx or get the d3dx 29 from the beta page

Normalmap Generation :
  -> Fixed some problems with multi-group meshs.
  -> Fixed memory leaks
  -> Added Mesh.IsNormalMapGenerating and Mesh.GetNormalMapGenerationProgress (for multithreading use)
  -> Auto set lighting mode to bumpmapping without changing the number of lights
  -> Added CancelGeneration (works for PRT or NormalMap generation) for multithreading cases

PRT Generation
  -> fixed memory leak and some crashs
  -> Added Mesh.IsComputingPRT and Mesh.GetPRTComputationProgress (for multithreading use)
  -> Added CancelGeneration (works for PRT or NormalMap generation) for multithreading cases
  -> PerPixePRT works better but is still a little buggy in some case, we will fix that quickly Smiley
 

C++/.NET wrapper
  -> Added some more operators for colors, vertices and matrices.


Bumpmapping shader:
  -> PS2 bumpmapping shader fixed, a lot less seams now when using models and normalmaps from ZMapper/ZBrush or from the TV NormalMap generator

Actor :
  -> Added SetOverlay for actor (disable zbuffer testing when rendering)

Atmosphere :
  -> fixed Skysphereverticaloffset (it used box offset always before)

Motion blur
  -> Fixed problem with SetNewCamera that crashed the engine.
  -> Fixed the shader, now works on latest NVidia cards too (PS3 cards)

SetParent/AttachTo
  -> Fixed weird rotation problem and parent matrix problems, it was because of a workaround i had put for a DX bug that has now been fixed

Physics engine :
  -> Updated to Newton 1.51. A little speed boost and some collision fixes.
  -> Fixed Universal joint (was a problem with orthogonal check)
  -> Fixed problem with landscape colliding where a crash would occur
  -> Added some "bLocal" arguments to SetForce/Addforce/AddTorque etc.. functions. Allow to change easily force/torque/velocity in the body local space.. Can be very useul

Mesh :
  -> Added GetLightingMode

TVEngine
  -> Fixed return values of BPP in GetVideoMode

Minimesh :
  -> Fixed a crash that would occur when using the non-shader render path.


Math Lib :
  -> Fixed TVVec2Subtract that would do a Addition instead.

ShaderManager :
  -> The rendersurfaces created directly from the FX shaders can now be of any size (no more 2^n limit)
  -> Added missing GetEffectParamInteger and SetEffectParamInteger


Scene rendering settings
  -> now SetMipmappingPrecision correctly change the 8 layers ( used for terrain splatting mainly)
  -> SetTextureFilter now set the good states when using anisotropic filter on a Nvidia card (not supporting MAGFILTER ANISOTROPIC)
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 !
Arli
Administrator
Community Member
*****
Posts: 993


« Reply #65 on: February 23, 2006, 08:27:41 PM »

ModelView:

Alot of nice new things:

* Supports loading of *.fx files (only mesh atm)
* FX Shader Parameter Editor
* PRT Generation added (Vertex/PerPixel)
* Added progressbar for PRT and Normalmap generation process (multithreaded finally)
* Added bunch of more tools-buttons (mostly for normalmap generation stuff)
* Lights sytem even more worked on, lights are now saved all into one file (old ones not compatible)
* Added radius based system, which means lights files are now universal and will always be placed on the same place once loaded no matter the radius of the model.
* Fixed animation scrollbar bugs
* Fixed crashes with lights adding/removing.

Well probably a bunch of more stuff since iv been working alot on it, but please report anything u might find that doesnt work nicly!

As sylv said, PRT perpixel is somewhat still buggy..will be fixed on next rls (soon)!

Cheers!
Logged

Happy Coding

Arli
Truevision3D Developer
Arli@Truevision3D.com
darqSHADOW
Administrator
Community Member
*****
Posts: 2721


« Reply #66 on: February 23, 2006, 08:41:24 PM »

With this release the TVPackage fixes are in now, finally.  Wink

This includes:

- Fixes for GetFileCount
- GetFileName, GetFileSize, and GetFileProtected now work properly
- Quite a few memory leak fixes (if you find any others, please let me know!)
- DeleteFile makes its debut.  This only marks the file for deletion, it does not remove it from the package -- the CompactPackage function that is coming will remove the actual marked files from the existing package.
- Files added to packages are now properly added to the package table of contents for extraction, deletion, etc.

Btw, for some reason the managed wrapper ends up using DeleteFileA instead of DeleteFile (which is what is in the code).  It must be a reserved keyword or something, so this method might be renamed so that all languages use the same named functions.  (Easier for documentation, lol).

PackageBuilder is coming soon.  I just need a chance to work on it for a few hours to clean up some bugs.  Wink

I also have an updated version of ParticleEditor in the works.  Just waiting to get a chance to debug the final bug on my list and its ready for release, as well.

DS
Logged

TrueVision3D Project Manager
The fast and simple way of 3D development.
darqSHADOW
Administrator
Community Member
*****
Posts: 2721


« Reply #67 on: April 18, 2006, 10:47:21 AM »

Managed wrapper fixes completed!

This fix required a large rewrite of the application that creates our managed wrappers, but now functions that return TVObjects will now return NULL (or Nothing) properly if they do not find the item in question.

For example, the following now works, where as before it would return an empty TVMesh object:

Code:
Bla = Globals.GetMesh("weird not existing mesh")

If Bla Is Nothing Then
    MessageBox.Show("nothing")
Else
    MessageBox.Show("not nothing")
End If


This will be rolled into the next release.

DS
Logged

TrueVision3D Project Manager
The fast and simple way of 3D development.
darqSHADOW
Administrator
Community Member
*****
Posts: 2721


« Reply #68 on: April 21, 2006, 08:06:40 PM »

More ParticleEditor fixes...  Cheesy

- Minimesh systems are now working, but are not 100% quite yet.  I have a screenshot below for you to see.
- PE no longer renders when the form does not have focus, nor does it accept input.
- Input engine reworked slightly to handle changes to the core.  Should be less "quirky" now.

http://e1.servegame.org/images/pe-mm.jpg

Edit: I will release this changed version once I can fix the final minimesh issues tonight and the new DLL is released (it required the Null item fix).

DS
Logged

TrueVision3D Project Manager
The fast and simple way of 3D development.
SylvainTV
Administrator
Community Member
*****
Posts: 4436


WWW
« Reply #69 on: April 30, 2006, 08:05:01 PM »

Hello hello,

First sorry about the site problems of the last couple of days, we (and our webhost) will do whatever we can to fix that !

There you go, a small release after these 2 months that went too quickly...

First big thing : a GCC/MingW compile !
  -> Yes you don't dream, you can now use TV3D with Devc++, gcc, g++. We provide a .DLL and a .A for linking. No static linking.
  -> It uses the DLL version of the Newton Dynamics SDK, you must download the latest version there http://www.newtondynamics.com/, and put the simple precision version DLL in your app dir or Windows/System32 dir.
  -> A template for DevC++ will be released soon.

.NET Wrapper
  -> See post of darqSHADOW above.


Shaders :
  -> Every internal shader (bumpmapping mainly) should now support TextureMod. Scaling, rotating and translating.
  -> Please report if you have any problems with Texture / texture coordinates.
  -> Added several functions to set array parameters : SetEffectParamVectorArray4, SetEffectParamMatrixArray, SetEffectParamFloatArray. Note that you can only set the ENTIRE array and not a part of it.
  -> If you want to fill manually the array, you can still use the old way : Shader.SetEffectParamVector4("myArray[1]", myVector);

Collision :
  -> Fixed a big memory leak that would happen with MousePick and AdvancedCollision.

Particle System :
  -> Attractors are now saved/loaded correctly via TVParticleSystem.Load and TVParticleSystem.Save
  -> Frustum culling is now fixed when using SetGlobalPosition/Rotation/Matrix. Particles won't disappear weirdly anymore.

Shadows :
  -> Added AABB Shadow culling. This means that the engine does now an initial computation of the shadow projection, if this total projection is outside of the view frustum, the entire shadow algorithm is skipped and also CPU Skinning animation for actors. So it can be a very big win if you use a lot of shadows.
  -> Fixed strange behavior when using Collision and Shadows on actors.

Texture Factory
  -> Added a Workaround for the "automatic texture loading from model problem when using package or memory data source"
  -> You must enable the "texture loading forcing" with TextureFactory.ForceTextureLoading True
  -> Whenever a model needs to load a texture and doesn't find it, it will still allocate the texture item and set the good index on the model.
  -> It means that then you can use GetTexture() function and GetTextureInfo() to return the texture filename that must be loaded, you can now load the correct texture.
  -> To ease the reloading of textures, you can now specify the index you want to use for the texture. The texture item must already exist though. So it's good to use in conjunction with the ForceTextureLoading. To use this, you must add "@ID:yourindex" at the end of the texture name when doing LoadTexture/LoadBumpTexture etc. where your index is your specified index.

Input Engine :
  -> ClearKeyBuffer() now effectively clears the key event buffer.

Landscape :
  -> Added a sort of per pixel specular for splatting (WOW-like). How does it work? You have to enable PS2 shaders and also PerPixelSpecular in SetShaderMode (note that due to a last minute bug, the perpixelspecular is ALWAYS enabled, but don't worry it doesn't take more processing time).
  -> Where is the specular map? They are in the alpha of the base textures. So you must load base textures with specular map that is in the alpha channel, so don't forget to use COLORKEY_USE_ALPHA_CHANNEL in the LoadTexture method. You can use for example DxTex tool or TextureFactory.AddAlphaChannel to combine diffuse and specular maps.
  -> This is not real per pixel specular, but it looks like it (it's actually exactly the same method as in World Of Worldcraft rendering). It actually uses the result of the per vertex lighting/specular computation. So you have to set correctly your terrain material and your light for specular. Something that is usually forgotten is the Material power, make sure you have it between 1 and 128.
  -> Fixed splatting problem when using more that 4 layers in PS2 mode, now it blends correctly but use 1 pass per layer after the 4 first layers.
  -> Upped the splatting layers limit to 16 simultaneous layers per chunk.

Texture Fonts :
  -> Now the texture associated to the texture font is also destroyed when the texture font is destroyed.

General Engine :
  -> Added TVEngine.GetInternalShaderVersion
  -> Added a "Non render" mode. This can be very useful if you need to use TV for something without a render, for example using AI or Package on a Game Server. This mode does not need any 3D hardware, and will just skip any draw commands.
  -> If the engine can't initialize because of no hardware, it will fallback to this mode. You can manually initialize the engine in this mode using : TVEngine.Init3DNoRender()

Game Controllers :
  -> Fixed the problem when using two or more identical controllers at the same time. Now they are well detected and they don't point anymore to the first one.

Path :
  -> added a TVPath.Destroy... Weirdly enough, there was not one ! So using AI was memory intensive after a while.

AI :
  -> Fixed the A* so that it uses the weight correctly in grid mode. Before that, it was using wrong weights for the path finding.

Misc :
  -> Changed some functions for consistancy, such as changed "int" to "HWND" in some functions, or added some optional arguments.
  -> cTV_LINELIST primitive works now with only 1 line (2 vertices)

Screen2DImmediate :
  -> Some bugs with big primitive numbers have been fixed.
  -> /!\ WARNING /!\ DrawTexture, DrawSprite etc.. have been changed to fill 1 more pixel on width and height. This means that now drawing on a rect on 0,0,255,255 will really draw 256x256 pixels and not 255x255 as before. Check this if you have some weird 2D drawing issues.

Milkshape 3D Exporter:
  -> New TVA exporter uploaded.
  -> Be sure to reexport your models if you have problems with your old TVAs. This new dll is compatible with the latest D3DXDecomposeMatrix change.

Also don't forget the Media Pack that Foamy kindly released for the community, the link is in one of the beta sticky thread. It has good models with normalmaps, good to test the per pixel lighting of the engine !

Have fun ! And let us know if you have any problem with the new release !
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 !
darqSHADOW
Administrator
Community Member
*****
Posts: 2721


« Reply #70 on: May 10, 2006, 08:44:05 PM »

The newest ParticleEditor has been uploaded.

This release includes fixes for the following:

- Regional Settings
  Files saved in one locale will now load fine from another location.

- Minimesh Particles
  Fully integrated and working, including debug messages to explain why no particles are being rendered.

- Integer/Single Fix
  Many of the properties were only allowing Integers, when they should have allowed more precision -- this has been corrected.

- Samples Removed
  The old samples have been removed from this release.  This is due to me needing to rework all of them.  If you have simple or advanced samples you would like to include in the PE release, please email me.

- Users Guide
  The users guide has been started, and is about 40% complete.  Once the samples are ready and the guide is completed the package will be updated.

Enjoy, and please forward bug reports to the bugtracker or to the support email.  Thanks.

DS
Logged

TrueVision3D Project Manager
The fast and simple way of 3D development.
SylvainTV
Administrator
Community Member
*****
Posts: 4436


WWW
« Reply #71 on: October 29, 2006, 04:27:13 PM »

Actor :

- Quite a lot of new things for actors :
-> OptimizeAnimations : some exporters export very big animation data (every frame of every bone). OptimizeAnimations is here to detect the useless frames and to remove it from the animation. The animation will look the same but it will take less memory and less cpu power. However in some cases, the function is modifying the animation a little bit, if it is the case, please send me the model so that I study it. The tests on some models showed sometimes a decrease of 80% of the animation data. You can of course call it and then save it back to a TVA.
-> added SetBlendedAnimationKeyFrame and GetBlendedAnimationKeyFrame to have a better control of the blended animation tracks.
-> Added SetBoneEnable and IsBoneEnable, to disable a bone and its children if needed.
-> added Collision and AdvancedCollision (that was missing for some reason)
-> fixed some various bugs with actor collisions
-> Added support for Custom shaders for actor in GPU mode ! Before, you had to use the slow CPU actor mode...  However you have to adapt a little your shader to allow the skinning ( a shader sample will come in the next days). If you can't wait, just try to look at the DirectX skinning shaders. You must have parameters with  BONES and BONESPERVERTEX semantics and an own skinning function to make it work.
-> Fixed some lighting problems with shaders (but not all problems either)
-> Added GetDeformedMesh, allowing to create a mesh which has the current pose of the actor animation.
-> Fixed LoadTVA bLoadTexture boolean check.
-> Fixed a problem with ComputeNormals/ComputeTangents on some models.
-> Added SetGroupRenderOrder to customize the rendering order of the actor group, it can be used for example to manually fix the alpha blending problems if you can't do it in your modeler.

-> FIXED MORPHTARGET detection, now almost every model should work with morphtarget directly. It has been tested on different models and it seems to work correctly. Be sure to reexport models with latest exporters though.


Camera :
-> Added RotateAroundMesh, that was missing since 6.2
-> Added SetName/GetName
-> Added GetBasisVectors just like for meshes and actors
-> Added SetProjectionClipPlane : this uses the "oblique frustum clipplane" that allows to have a "free" clipplane by manipulating the projection matrix. This is actually used in the TV effect "SetWaterReflection". By calling this on the camera, you can have easily your own water shader using the good clipped reflection.


CollisionResult class :
-> Added GetCollisionGroup and GetCollisionFaceId.

Input Engine :
-> Added the repetition period in SetRepetitionDelay. Now you can define the delay before the repetition and the period between the next repetitions of the same key.

Texture factory :
-> Fixed some problems with the texture loading while using ForceTextureLoading True (with specified IDs etc.)
-> Added CreateProceduralTexture and CreateProceduralTextureFromFile. It allows to create textures from a small program or a mathematical formula that is stored like a shader function (DirectX calls it a Texture Shader).
-> Added Depth and RealDepth in texture info

Here is an example of a texture shader function :
(pos.xy is between 0 and 1)


Code:

float4 GenerateSparkle(float2 Pos : POSITION) : COLOR
{
    float color1 = float4(1,0,0,1);
    float color2 = float4(1,1,0,0);
    return lerp(color1,color2, Pos.x);
}


It creates a texture that is a shade between red on the left and yellow on the right.

So just put this function in a file or directly pass it to CreateProceduralTexture with the good function name.
TextureType allows you to choose between a Diffuse Map (default), a cubemap or a volumemap. You must of course adapt the shader with float2 or float3 for Pos.



Minimesh :
-> Fixed some problems with culling not working correctly in some cases.
-> SetShader for custom shader on Minimesh is almost finished too. Should allow like for TVActor GPU custom shader to have a custom effect on minimeshes (such as wind etc..) while keeping the minimesh optimizations and fast rendering speed.

2D part :
-> Added some Get function in TVScreen2dImmediate
-> Added Texturefont_GetFontData to get the texture font info into an character array (either from a custom font or from a generated font)
-> Added NormalFont_GetTextsize

Landscape :
-> Now it's MANDATORY to use createLandscape and not New Landscape. You can't create a landscape with New Landscape and anymore. Why did we change that ? For consistancy with the rest of the objects (CreateActor/CreateMeshBuilder/..) and it helps a lot for the object management, and a landscape isn't anymore created in functions like GetCollisionLandscape.
-> Remade totally the Affine code when generating a landscape.
-> Now it smoothes well across the chunks so you don't get the weird seams in the slopes.
-> Added GetHeightArray, the exact reverse of SetHeightarray
-> Added SetTextureEx/GetTextureEx to set up to 4 different textures if you use a custom shader (via landscape.setShader)
-> Added RemoveSplattingTexture/RemoveSplattingLayer for manipulating the things better.
-> Added the SetCustomLightmap support for the texture splatting ps2 shader. This means that you can directly do lightmapping in splatting without using an extra layer for lightmaps. Moreover the Alpha channel of the lightmap acts like a specular map for the perpixel specular feature, so you can hide the specular light in the lightmap shadow by putting alpha = 0 values in the shadowed areas of the lightmaps.

Shaders :
-> Added the fog semantics FOGSTART/FOGEND/FOGDENSITY/FOGCOLOR which are automatically filled with the atmosphere fog values.
-> Added the actor semantics BONES ( array of 52 matrix 3x4) / BONESPERVERTEX ( max number of bone influences per vertex ). These are used for the new actor GPU shader feature.
-> added several SetParam***Array function to fill quickly the shader parameters if needed.

Mesh :
-> Added SetGroupRenderOrder, like for TVActor, to render groups in a custom order, to fix alpha problems mainly. You can of course specify only some groups in the array, then the others won't be rendered.

TVS (TVScene format saving) progress :
-> Created the base framework with scene items, etc... It was annoying to find something generic, fast and that works.
-> Saving/Loading TVMesh and entities is 90% working, only need to finish the textures/materials loading and it will be ok.
-> Added LoadTVS/SaveTVS to TVScene class, you can try them if you want to see if meshes are exported and imported correctly
-> It saves/loads to/from a TVPackage. You can then do saveTVS, take the package, and LoadTVS in another project, you shoudl get the same meshes loaded
-> More to come very soon.


Shadows :
-> Let me know if you have weird shadows culling sometimes (shadow diseappearing weirdly when you rotate or move the camera)

Physics :
-> Latest version of Newton
-> Added SetVehicleWheelMaterialGroup to set a diffrent material for the vehicle wheels
-> Added GetBodyRotation, but as it returns angles... be careful with it.

Plugins :
-> All plugins are fixed and have been recompiled with latest dll, so you shouldn't have crashs anymore in Max7 for example.
-> The Milkshape3d animation problems when exporting to TVA have been fixed too. Make sure to reexport all models and use exclusively the latest dll to read/render the exported TVA .


NOTE : The GCC version will be recompiled a little later.
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 !
darqSHADOW
Administrator
Community Member
*****
Posts: 2721


« Reply #72 on: November 02, 2006, 06:20:01 PM »

The latest ModelView has been updated, to fix the problems people were having.  This version includes the latest Sanddock library, along with the newest MTV DLL.

I am working on the ParticleEditor update now.

DS
Logged

TrueVision3D Project Manager
The fast and simple way of 3D development.
darqSHADOW
Administrator
Community Member
*****
Posts: 2721


« Reply #73 on: December 13, 2006, 12:39:58 AM »

PE now includes support for loading TVP files.  Just change the file type from the Open menu to TVP and load your exported file.  Using this you will not get access to the tree view, or properties, it is a TVP viewer only at that point.

Right now I am having a problem with the camera control once again.  It keeps jumping out of interactive mode on me for some reason.  I had this problem before, but solved it once, now its back again.  Once I fix this I will upload the latest with this new feature.

DS
Logged

TrueVision3D Project Manager
The fast and simple way of 3D development.
darqSHADOW
Administrator
Community Member
*****
Posts: 2721


« Reply #74 on: December 17, 2006, 04:45:59 PM »

Ok, this was a biggy.  Wink

Everything has been recompiled and uploaded, including all plugins, PE, and even the GCC port.  There is also a new Max9 plugin available, but we need someone to test this, if possible, until I can get a copy here at the office for us to use.

Sylvain will be posting his update message shortly, he is just going through notes gathering a list of changes.

PE has a lot of nice new fixes in the codebase this time, mainly internal stuff that makes the core work better.  Please let me know if you still experience any old bugs, as this tool is coming closer and closer to final for 6.5.

Also, please report MV bugs to me in the beta forum and I will try and get these taken care of over the next few weeks.

Until then I am finishing up the new website and we should be launching this very soon, so get ready!

DS
Logged

TrueVision3D Project Manager
The fast and simple way of 3D development.
SylvainTV
Administrator
Community Member
*****
Posts: 4436


WWW
« Reply #75 on: December 17, 2006, 06:18:43 PM »

Quite small update for the engine code, but still interesting stuff :

* Hierarchy system
   -> Fixed some problems with AttachTo/SetParent

* Camera
   -> Added SetCustomAspectRatio to customize a little your view projection.
   -> That is useful to fix aspect ratio problems with isocamera.
        -> Added bUseTimeElapsed to chase functions.

* Plugins :
   -> Readded and recompiled plugins for Max7, Maya7 and a new Max9. Please report if there is a problem.
   -> The animation problem after exporting is a known problem. We're working on it.

* Texture factory :
   -> Added "CreatenormalMap" that is like LoadBumpMap function except you pass an existing texture, instead of a file to load. It creates a normalmap based on the bumpmap (heightmap).

* Shader
   -> Added support for "FogType" semantic (FOGTYPE or FOG_TYPE). It can be used to automatically handle fog in your shaders.

* GCC/MingW interface
   -> Recompiled the engine with/for GCC.

* Screen2DImmediate
   -> Fixed some bad filtering problems with some Draw functions

* Example of custom actor shader.
   -> Remember that you can now use custom actor shaders in fast/shader actormode.
   -> Here is a simple example that gives you the basis :

http://www.truevision3d.com/downloads/CustomActorShader.txt

* Scene
   -> Added some "Destroy" more functions (DestroyAllActors, DestroyAllMinimeshes,
DestroyAllParticleSystems, DestroyAllLandscapes). Don't forget that once you call these functions, any object that has been deleted internally shouldn't be used (so you should free all your objects at the same time or set them to Null/nothing)

* Path
   -> Added Save/Load for TVPath

* MaterialFactory
   -> Added Duplicate function, to create several instances of the same material.
   -> The memory of duplicates are NOT shared, unlike for Meshes and actors.

* Minimesh
   -> Fixed some crashes that was happening when initing the minimesh several times.
   -> SetShader is now here but still not functionnal unfortunately. So don't use it !

* .Net Wrapper
   -> You can now use MousePickEx & AdvancedCollision to return several collisions.

* Misc.
   -> Fixed some inconsistency in the function names/parameters. It shouldn't impact directly your code, or at least it should be very easy to fix.

* Converter
   -> the OBJ/3DS to TVM converter has been updated. There was a new version before, but it never went public for some reason.


And probably lots of small things that I have forgotten !
Please check the bug tracker, there is some bug items that need an answer. Thanks.
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 !
SylvainTV
Administrator
Community Member
*****
Posts: 4436


WWW
« Reply #76 on: March 18, 2007, 05:08:02 PM »

Change log for this release :

Texture factory :   
   -> Some new functions allowing to manipulate pixels in textures
   -> GetPixelArray, SetPixelFloat, GetPixelFloat, SetPixelArrayFloat, GetPixelArrayFloat added
   -> the Float functions are useful to get or update the values of a floating point texture (Float16/Float32)

Support for fast GPGPU (General Processing on GPU) now !
   -> You can now get the values from rendersurfaces, either floating point or normal rendersurfaces.
   -> If you remember well, you can't directly get values from a RS, you can't lock a Rendersurface.
   -> So now you must enable the system copy of the RS with RS.SetSystemMemCopy(bool bEnable).
   -> Then you can use GetPixel/GetPixelArray/GetPixelArrayFloat/GetPixelFloat to get the values
   -> You can't use SetPixel/SetPixelFloat though (use the Screen2D drawing functions)
   -> Enabling system copy takes more RAM so use it only if needed.
   -> Try to call GetPixel**** functions quite far from the RS render so that the CPU doesn't wait too much for the GPU.

Support for hardware occlusion queries now !
  -> You probably heard about an hardware way to do occlusion with queries. How does it work ?
  -> The principle is simple, a query allows to know how many pixels has been rendered and passed the Zbuffer between a Begin and a End
  -> If no pixel has been rendered then the object is totally occluded.
  -> So a simple way to use that for occlusion culling :
        - Create a rendersurface, smaller than the backbuffer size usually to not use too much memory & fillrate.
        - Init the camera occlusion system  with : Camera.OccQuery_Init with the number of queries that you plan to make per frame.
        - Put the same camera object as the main viewport (using RS.SetNewCamera function)   
        - Render all possible occluders in this RS with usual functions. You might even render low-LOD versions of your objects.
        - Then for each object that you want to check the occlusion on :
              -> call OccQuery_Begin()  (it returns a query ID, that can be used for the GetData function afterwards)
              -> draw the bounding box or quad with OccQuery_**** functions. These will only do checks on the Zbuffer and not actually draw the object at all, so it's quite fast and doesn't take too much fillrate.
              -> call OccQuery_End()
              -> call OccQuery_GetData(queryId, true), it returns the number of pixels of the boundingbox/quad that are visible.
              -> if you have a number of queries == 0 then you can skip the rendering of the object (can be very interesting if it's a high poly mesh or complex actor)
        
  -> Some optimizations for that :
      - The CPU and GPU are doing their work asynchronously, so try to call GetData after all Begin/End and sometime after the RS rendering. This way the GPU will have had the time to finish the boundingbox drawings and tests.
       - Try to group all Begin()/Draw()/End() calls. Don't do GetData directly after each End(). Thats why multiple queries are possible.

   -> More integration of this culling technique (to make it a little more automatic) in the next updates probably.

Camera :
   -> Added all occlusion functions
   -> Added Destroy

Particle system :
   -> Fixed a problem in Loading/saving particle emitter position
   -> Added SetName/GetName

Minimesh :
   -> Fixed a bug with minimesh culling and minimesh position when using GlobalPosition
   -> Now the minimeshs should be rendered at the good place (don't be surprised if your minimeshes moved a little)
   -> Finally you can now use custom Shader on minimeshes ! (Minimesh.setShader)
   -> Here is a sample of custom shaders to use with minimeshes
http://www.truevision3d.com/download.php?secure=2&file=CustomMinimesh.fx
 it's quite simple and once you know the semantics, you can wrote your own.

Text rendering :
   -> Added small Unicode support for text rendering. Only for NormalFont ! NormalFont_DrawTextUnicode & NormalFont_GetTextSizeUnicode
   -> This is only for NormalFont because it would require too many characters on a TextureFont.
   -> Optimized TextureFont quite a lot (up to 30% faster when drawing small bits of text)
   -> To get the entire optimization, you must use correctly Action_BeginText and Action_EndText.
   -> Now you can also use Screen2D to draw texture fonts ! For that, you must set the boolean in Action_BeginText to True. This will actually use internally the DrawTexture function of Screen2DImmediate. This could also speed up the rendering a little and allow you to mix rendering between 2D and text in the same Action_Begin2D and Action_End2D.
   
MousePicking :
   -> Fixed the GetCollisionTextureUV function, it was returning the same result as GetCollisionUV, now it returns the correct texture coordinates of the impact, which can be used to find the pixel with TextureFactory.GetPixel .


Main Engine :
   -> Fixed problem with Adapter.
   -> Now SetInitAdapter before the engine init should work.

Package :
   -> Some bugs fixed in Package handling
   -> Now the engine tries to load textures automatically from packages when you load a mesh/actor/particle system from the package.
   -> Still a small bug in package extraction when using encryption (only in very specific cases), we're working on it.

Node :
   -> Fixed some problem with Node initialization (it was initialized with a NULL matrix for some reason)

Shader :
   -> Fixed the annoying FOG semantic problem that would crash all the TVShaders.
   -> Added several semantics to use :
      GLOBALAMBIENT/AMBIENTGLOBAL/GLOBAL_AMBIENT : Global ambient value.
      LIGHTPOINT0_POSITION, LIGHTPOINT0_ATTENUATION,LIGHTPOINT0_RANGE, LIGHTPOINT0_FALLOFF, LIGHTPOINT0_PHI, LIGHTPOINT0_THETA, LIGHTPOINT0_DIRECTION  (same from light 1 to 4). And well spot lights are treated as point lights (hence the LIGHTPOINT0_DIRECTION)
   -> Fixed OffsetBumpMapping (at least I think so). Please test again the offset bump mapping on meshes and let us know if it has been fixed entirely. Thanks
   


Misc :
   -> Small other bugs fixed (like memory leaks etc.)
   -> Some problems with GDI objects for Fonts not released correctly fixed.


Tools :
   Quite a lot of changes to the tools (yea that happens sometimes !)
   
   All tools :
   -> Some big changes are getting done for more standardization, GUI improvements etc..
   -> The locale of all tools is now English by default, so no more problem with decimal separators or GUI file not loading correctly.   
   
   Modelview :
   -> Added Alphablending support for actor & mesh
   -> Added ShowBoneNames, ShowSkeleton and ShowBoundingBox in Scene panel.
   -> Changed a lot the Animation Ranges feature. It is now more flexible and based on new functions of the TVActor classes.
   -> Added command line support to use with file association.
   

   Particle Editor   
   -> TVP viewer included. You can now preview the TVP files that you exported. It's a read-only mode though.
   -> Lots of bugs fixed from the latest release
   -> Better texture support in the TVPJ loading
   -> Added command line support to use with file association.
         
   Converter GUI
   -> A good small GUI for the Converter.exe has been created. It allows easily to convert 3DS to TVM, OBJ to TVM and MDL to TVA.
   -> The options are enabled according to the source mesh.
   
   darqSHADOW will complete the change log soon.[/url]
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 !
darqSHADOW
Administrator
Community Member
*****
Posts: 2721


« Reply #77 on: March 18, 2007, 05:37:02 PM »

Only one thing to add from what Sylvain said.  I have added help menus to all of the tools as well, but I have not yet linked in the help files.  This will come soon as the tools get their final UI cleanup.

DS
Logged

TrueVision3D Project Manager
The fast and simple way of 3D development.
SylvainTV
Administrator
Community Member
*****
Posts: 4436


WWW
« Reply #78 on: April 15, 2007, 02:25:45 PM »

At least a quick update for a while Wink
Some new interesting features + fixes

Particle systems :

- Ability to duplicate particle systems. Before that you had to load each time the particle effect or set it up via code for each instance of the particle system. Now you can just duplicate it like a Mesh. The buffers are shared only. So you can change almost everything in the new instance.
It was tested only on simple cases. If you have complex particle systems, please try it and report any problem.
- Fixed some weird problems with Pregenerate/UpdateEx

Minimeshes :
- Added MiniMesh.Duplicate too, very useful if you want to divide minimeshes of same sort in several minimeshes object (per zone for example). It shares the buffers so it's better and faster than creating another minimesh.
- Added more control for frustum culling, you now have a global culling possible for the entire minimesh object. Very good to cull per zone for example and avoid culling test for each item of the minimesh : see CTVMiniMesh::EnableFrustumCulling(bool bGlobalFrustumCulling, bool bPerItemFrustumCulling, bool bAutoComputeBoundings) function. You can here enable global frustum culling and/or per item (both are enabled by default)
- Computing global bounding for the global culling can take some time, so you can also disable the automtic computation, and do it yourself when you updated lots of minimeshes, via Minimesh.ComputeBoundings.
- Added some helper functions to manage your minimeshs items : GetFirstDisabledMinimesh, IsMiniMeshEnabled

GameController :
- Added GetProductGUID and GetInstanceGUID (was missing since 6.3)

Landscape :
- Added GetInterpolatedNormal for smoother normals. the GetNormal function only get face normals.

MathLib:
- Fixed the QuatToEuler function, now GetRotation should work a little better hopefully.

Camera :
- IsBoxVisible/IsSPherevisible/IsPointVisible now uses the frustum planes from the cam object and not the currently used camera.
- Let us know if you get any other culling problems because of this fix !

Actors :
- Some wrong animations with LoadX are now fixed. There was no problem with TVA though.

Meshs :
- Now saves and loads the Tag string to TVM.

GPGPU :
- Fixed several things that prevented the SysCopy to work more than once
- Now you can really use it without problem (sorry for people who tried before without success because of this bug)
- Remember to let the GPU finish with all the computations before copying/asking the results.


Misc:
- Added a MiniDump system for the crashes. It works only for C++ and VB6 users though because with the other languages, the exceptions are trapped before.  When your program crashes, a msgbox appears and asks if you want to save the minidump. It gets saved in the .exe directory, with a .dmp extension. If you think you found a bug, send us this file with a description of the problem. You can also open it in WinDbg or in Visual studio and run it, to find information about the context of the crash.
- Fixed some crashing problems when using cursors.
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 !
SylvainTV
Administrator
Community Member
*****
Posts: 4436


WWW
« Reply #79 on: May 06, 2007, 06:30:37 PM »

Hello, a small DLL update here Smiley

Setup :

- Now the dlls and all files have been put in a Setup file to prepare the 6.5 prerelease
- The tools and exporters are not included yet, they're still on the beta page.


General :

- Updated to April 2007 DX SDK.
- Required files for this SDK are the D3DX9_33.dll, D3DX9_31.dll and D3DCompiler.dll, they're included in the setup.
- Since the October 2006 SDK, the HLSL compiler by default is the DX10 compiler, which doesn't support anymore the PS1.X targets for the pixel shaders. The workaround (used by default by the engine) is to use the D3DX9 31 dll to compile the PS1.X to keep compability with older cards.
- If you don't care about older cards and want to benifit from the new optimizations of the DX10 HLSL compiler, they you have to tell that to the engine by setting TV.SetShaderCompileMode to True. PS1.x shaders will be converted internally to PS2.0 shaders.
- Disabled the Minidump by default since it annoyed a lot of .NET users. You can enable it now via a parameter of TV.SetDebugMode
- Recompiled all internal shaders with the new DX10 HLSL compiler (except the ps1.x shaders of course)


Actors :

- Fixed some problems with bumpmapping, lighting direction, and Maya models.
- Now normals and tangents of Maya models are correctly computed.
- Improved the rendering speed when using SetGroupEnable to disable some groups.
- Fixed SetGroupRenderOrder that was failing sometimes
- Added BindToActor/BindToActorEx : very interesting functions to "attach" totally the bones of an actor to the bones of another actor, for example to add cloths or equipments. BindToActor tries to match the bone names between both actors and link them accordinally. BindToActorEx allows you to do the mapping yourself, it takes an array of bones (the array should contain the good number of bones : bone count of the "child" actor). For each bone of the child actor, you give the index of the corresponding bone of the parent actor, if you don't want to link one bone, just pass -1 as index in the array.

AI :

- Added AddNodeLink/RemoveNodeLink functions to change the node graph after it has been created.
- This useful for example to link two "areas" that are not in the search radius. To link several "islands" of nodes.
- You don't have to recreate the graph afterwards, and these changes are saved if you save the AI object.

Meshes :

- Fixed specular for bumpmapping with PS2.0, now it should be correctly placed on the meshes. If it's still not the case, please tell me.
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 !
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