Game Development Community

TGEA 1.01 Out

by Brian Ramage · in Torque Game Engine Advanced · 04/04/2007 (12:04 am) · 51 replies

It's mostly a bunch of bug fixes, but there were also some AFX particle changes and some l3dt work. Hopefully Jeff Faust and Ben Garney can chime in on the latter changes. TGEA is now happy with latest DXSDK's as well. Here's the list of fixes:

Lighting System fixes (looks like mostly Atlas related)
unProject() fix
support for multiple images in a single Atlas chunk
updated l3dt exporter
fixed crash when particle texture is not found
fixed CustomMaterial fallbacks not getting setStageData() called
fixed normalizeCube memory leak
fixed misc options dialog bugs
changed decals to render after water
fixed billboardz in tsMesh
added asserts for when D3D init fails
fixed WaterBlock creation crash
enabled water creation from demo
fixed WaterBlock client update
removed vertex buffer readback from ShadowProjector (small performance thing)
now works properly with latest DXSDK's
misc XInput fixes



There will be a 1.02 version that will come soon that is for Constructor support.
Page «Previous 1 2 3
#1
04/04/2007 (12:06 am)
First !!
-------

Has anyone run the demos. It's messed up. ( maybe a reboot, hmmm ).
Yup. I won't bother posting pics as it's pretty obvious. ... Constructor nothin' @C2 ... I want those AFX particle changes ... ;)
#2
04/04/2007 (12:11 am)
Why get 1.01 when Constructor support will be ready in 1.02?! w00t!
#3
04/04/2007 (12:56 am)
Sounds good :-)

Could we get a compiled version of the L3DT ext?

Thanks!
#4
04/04/2007 (6:05 am)
Our problem is rather a memory accumulation than a memory leakage.

namely

Without ending our game,
in repeating(coming and going) between game and ui(lobby), the memory increases.

Finally the pc is downed(be frozen) in the middle of playing the game.

what I want to solve is to prevent the memory increase in coming and going between game mode and ui(lobby)

Had this memory accumulation solved, too?
#5
04/04/2007 (7:01 am)
Quote:
Has anyone run the demos. It's messed up. ( maybe a reboot, hmmm ).

Like what? "Messed up" is hardly helpful in describing a problem and it might be different on other systems.
#6
04/04/2007 (2:38 pm)
@Brian ...now works properly with latest DXSDK's???

You mean the April 2007 DXSDK's?
#7
04/04/2007 (2:52 pm)
Here's a quick summary of the "AFX particle changes" in TGEA 1.01. I'll post some more details after I get a chance to peruse the update for any minor differences from what I delivered.

First, to avoid confusion, the particle system changes included in this update address specific capability deficiencies that came about because TGEA strictly enforces some restrictions on particle emitter rendering. You will probably find these changes to be very useful, but they do not include all of the particle system extensions implemented in the yet to be released AFX for TGEA product. (For more on the progress of AFX for TGEA, please refer to this thread.)

The goal of the TGEA 1.01 particle changes is to restore some of the capabilities that were lost when the particle system was migrated from TGE, not to add many fancy new features. Still, I did end up adding a couple of enhancements that fit right in with the other changes. While these changes don't achieve transparent backwards compatibility with particles designed for TGE, they do implement parallel capabilities and a fairly minimal migration path between the two.

The main restriction I had to work around was the requirement that each particle emitter be rendered in a single batch. This means that each particle emitter can use only one texture and it can't change the blend function in the middle of a render batch. In TGEA 1.0, these restrictions break emitters using multiple particles, emitters using animated particles, and emitters that need to mix blend styles. By adding the ability to set per-particle texture coordinates and by offering a complete set of blend factors, these broken capabilities can be restored without violating the restrictions, and this is what I did. The end result requires a little special preparation of the particle assets, but the particles should render very efficiently.

Here's a brief summary of new features:

For particles, you can now explicitly set the UV values of the four corners of each particle quad. The idea here is that you can tile multiple particle textures into a single texture and configure different particles to show different areas of the same texture. Then you can have an emitter with different particles as long as the particles share the same texture. This approach is very flexible in that, although particles themselves are square, the texture regions they display don't have to be. This is handy for maximizing possible tiling arrangements for sharing a texture between particles.

For animated particles, the texture region specified can be further divided into a grid of tiles that can be indexed as animated frames. You specify dimensions of the tile grid, a frame rate, and an arbitrarily ordered list of frame numbers, and the particle animates by showing these particles one at a time, adjusting UVs on the fly. Again, the UV specification is very flexible so you can mix animated with non-animated particles in a single texture.

When designing fire particles, you can find yourself wanting to mix bright additive blended flame particles with dark normal blended smoke particles. In TGE, this is usually the circumstance where you find yourself mixing particles with useInvAlpha=true with particles setting useInvAlpha=false. Ben Garney pointed me to this link, which describes how you can use an alternative blend style with textures with pre-multiplied alpha to achieve similar results without switching blends midstream. Making this possible required a new blend style, so I went ahead and made it possible to specify any kind of blend using separate source and destination blend factors. This is already possible in TGB and I implemented it in a way that is consistent with how it works there.

Finally, in order to get the most out of the new blend options, I implemented optional per-emitter particle sorting. For some blend styles, particle ordering is irrelevant and even in cases
where the ordering does matter, many particle emitters still look acceptable when rendered with unsorted particles. But for those cases where the particles just won't look right unless sorted, you now have the option of turning sorting on.

EDIT: fixed link
#8
04/04/2007 (3:31 pm)
Thanks very much, Brian. Despite some quite vocal "I want a refund" people, there are those of us who are confidently and patiently waiting for deficiencies to be corrected. This update is a good step.
#9
04/04/2007 (5:41 pm)
Thanx Brian!
#10
04/04/2007 (6:07 pm)
Hmmm,

now everything in my game except the sky is black.
#11
04/04/2007 (9:56 pm)
@ Stephan - AFAIK there is no April DXSDK out. It works with the February release though.

@ Adole - again, I haven't been able to reproduce memory leakage. If you could provide more information or make an attempt to track it down, it would be helpful.
#12
04/04/2007 (10:10 pm)
@Stefan - Black on the demos using the supplied exe. I assume yours works? My system is in my profile.
#13
04/04/2007 (10:23 pm)
@Jeff - You rock for contributing those improvements to the core TGEA particle system. It's good to see more people doing that.
#14
04/04/2007 (10:27 pm)
I get everything showing magenta. That's using the stock executable out of the box with the stock walkthrough mission.

Probably because of all this:

Executing common/lighting/sgShaders.cs.
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/legacyTerrain/terrainDynamicLightingMaskV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/legacyTerrain/terrainDynamicLightingMaskP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/legacyTerrain/terrainDynamicLightingV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/legacyTerrain/terrainDynamicLightingP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/atlas/atlasSurfaceDynamicLightingMaskV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/atlas/atlasSurfaceDynamicLightingMaskP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/atlas/atlasSurfaceDynamicLightingV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::i
#15
04/04/2007 (10:29 pm)
Stock exe and stock walkthrough misison work fine here.
#16
04/04/2007 (10:32 pm)
I am getting the same errors as Pete with a fresh install.

--------- Initializing MOD: Torque Demo Client ---------
Executing demo/client/ui/customProfiles.cs.
Executing common/client/message.cs.
Executing common/client/mission.cs.
Executing common/client/missionDownload.cs.
Executing common/client/actionMap.cs.
Video Init:
DirectX version - 9.0T
GFXD3DDevice - using 'd3dx9_31.dll' for dynamic linking.
Direct 3D device found

Cur. D3DDevice ref count=1
Pix version detected: 3.000000
Vert version detected: 3.000000
Initializing GFXCardProfiler (D3D9)
o Vendor : 'NVIDIA'
o Card : 'GeForce 7600 GS'
o Version: '93.71'
- Scanning card capabilities...
GFXCardProfiler (D3D9) - Setting capability 'autoMipMapLevel' to 1.
GFXCardProfiler (D3D9) - Setting capability 'maxTextureWidth' to 4096.
GFXCardProfiler (D3D9) - Setting capability 'maxTextureHeight' to 4096.
- Loading card profiles...
- Loading card profile profile/D3D9.cs
- Loading card profile profile/D3D9.NVIDIA.cs
- No card profile profile/D3D9.NVIDIA.GeForce7600GS.cs exists
- No card profile profile/D3D9.NVIDIA.GeForce7600GS.9371.cs exists
Executing common/ui/defaultProfiles.cs.
Executing common/ui/ConsoleDlg.gui.
Texture Manager
- Approx. Available VRAM: 536870912
- Threshold VRAM: 134217729
- Quality mode: high
Executing common/ui/MessageBoxOkDlg.gui.
Executing common/ui/MessageBoxYesNoDlg.gui.
Executing common/ui/MessageBoxOKCancelDlg.gui.
Executing common/ui/MessagePopupDlg.gui.
Executing common/ui/HelpDlg.gui.
Executing common/ui/RecordingsDlg.gui.
Executing common/ui/NetGraphGui.gui.
Executing common/ui/LoadFileDlg.gui.
Executing common/ui/SaveFileDlg.gui.
Executing common/client/metrics.cs.
Executing common/ui/FrameOverlayGui.gui.
Executing common/client/messageBox.cs.
Executing common/client/screenshot.cs.
Executing common/client/cursor.cs.
Executing common/client/help.cs.
Executing common/client/recordings.cs.
Executing common/client/shaders.cs.
Executing common/lighting/sgShaders.cs.
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/legacyTerrain/terrainDynamicLightingMaskV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/legacyTerrain/terrainDynamicLightingMaskP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/legacyTerrain/terrainDynamicLightingV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/legacyTerrain/terrainDynamicLightingP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/atlas/atlasSurfaceDynamicLightingMaskV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/atlas/atlasSurfaceDynamicLightingMaskP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/atlas/atlasSurfaceDynamicLightingV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/atlas/atlasSurfaceDynamicLightingP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowShaderV_1_1.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowShaderFastPartitionP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowBuilderShaderV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowBuilderShaderP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowShaderV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowShaderHighP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowShaderV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowShaderP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowBuilderShaderV_1_1.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowBuilderShaderP_1_1.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowShaderV_1_1.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/ShadowShaderP_1_1.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/AlphaBloomShaderV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/AlphaBloomShaderP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/DownSample8x4ShaderV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/DownSample8x4ShaderP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/DownSample8x4ShaderV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/DownSample4x4FinalShaderP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/DownSample4x4BloomClampShaderV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/DownSample4x4BloomClampShaderP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/BloomBlurShaderV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/BloomBlurShaderP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/DRLShaderV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/DRLShaderP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/DRLShaderV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/lightingSystem/DRLOnlyBloomToneShaderP.hlsl'?
GFXD3DShader::initVertShader - no compiled code produced; possibly missing file 'shaders/debugInteriorsV.hlsl'?
GFXD3DShader::initVertShader - unable to compile shader!
GFXD3DShader::initPixShader - no compiled code produced; possibly missing file 'shaders/debugInteriorsP.hlsl'?
Executing common/client/materials.cs.
#17
04/04/2007 (10:36 pm)
Have you checked to make sure you have the latest DirectX files?
#18
04/04/2007 (10:41 pm)
To those of you seeing all black or all magenta on stock .exe's...

I was just getting the same (all magenta), but I just did a complete rebuild and everything looks good. I suspect it has something to do with the fact that my DirectX SDK is from June 2006.
#19
04/04/2007 (10:42 pm)
This version is not 'happy' with the February DX runtimes, it appears to *require* them.

I can run the stock exe with the stock walkthrough now after installing the February DX runtimes.
#20
04/04/2007 (10:44 pm)
@Jeff:

I suspect you may have just built a version that *requires* June runtimes :-)
Page «Previous 1 2 3