smarthaert / phoenixlib

Automatically exported from code.google.com/p/phoenixlib
0 stars 0 forks source link

Direct3D9 Provider #113

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Please finish the Direct3D9 Provider.

CreateStencilMask is not working yet.

Original issue reported on code.google.com by wagenhei...@gmail.com on 22 Dec 2010 at 12:10

GoogleCodeExporter commented 9 years ago
I found the problem with Direct3D provider.

I have changed : TPHXDirect3D9Renderer

  MatProjection:= makeD3DXMatrix(Matrix);

  // Invert transformed y
  MatProjection._12 := - MatProjection._12;
  MatProjection._22 := - MatProjection._22;
  MatProjection._32 := - MatProjection._32;
  MatProjection._42 := - MatProjection._42;

I have changes this from before the change :

MatProjection:= TD3DMatrix(Matrix);

And now the Provider demo is working.

Original comment by wagenhei...@gmail.com on 8 Feb 2011 at 1:51

GoogleCodeExporter commented 9 years ago
Well... Alpha Blending in general seens to be not working in Direct3D Provider. 
Changing Alpha Value of anything does not seens to change.

Stencial Mask is working! =)

Original comment by wagenhei...@gmail.com on 8 Feb 2011 at 2:03

GoogleCodeExporter commented 9 years ago
I have fixed Alpha Blending problem, please add to 
TPHXDirect3D9Renderer.SetTexture

Direct3D9Device.SetTextureStageState(0, D3DTSS_COLOROP,   D3DTOP_MODULATE);
Direct3D9Device.SetTextureStageState(0, D3DTSS_ALPHAOP,   D3DTOP_MODULATE);

Original comment by wagenhei...@gmail.com on 21 Mar 2011 at 1:49

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Well... Particles still does not works! =(
There is a single image that does not appers anymore.
And the graphics are very ugly when scalled up compared with the OpenGL!

Original comment by wagenhei...@gmail.com on 21 Mar 2011 at 1:52

GoogleCodeExporter commented 9 years ago
I will attach here some code of Asphyre where everything works!

Original comment by wagenhei...@gmail.com on 21 Mar 2011 at 1:57

Attachments:

GoogleCodeExporter commented 9 years ago
Strange, it looks okey with the D3D provider for me!

Original comment by andreas....@gmail.com on 21 Mar 2011 at 4:44

Attachments:

GoogleCodeExporter commented 9 years ago
Well... we still have some kind of problems! the Y rotations problems really 
give-me a lot of problems.

Here is the Direct3D version! A lot of things missing on screen, particles, a 
lot of graphics with Y rotation missing. And I get ~95fps.

Original comment by wagenhei...@gmail.com on 21 Mar 2011 at 10:45

Attachments:

GoogleCodeExporter commented 9 years ago
Here is the OpenGL Version with additional graphics and particles working!

Original comment by wagenhei...@gmail.com on 21 Mar 2011 at 10:50

Attachments:

GoogleCodeExporter commented 9 years ago
Direct3D9 provider is not working with Lazarus. I have download the lazarus 
directx9 headers, http://www.clootie.ru/fpc/files/FPC_DirectX92.zip, it 
compiles now but I only get a black screen.

Original comment by wagenhei...@gmail.com on 1 Apr 2011 at 7:17

GoogleCodeExporter commented 9 years ago
To fix the ugly graphics, please add this to TPHXDirect3D9Renderer.SetTexture

Direct3D9Device.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
Direct3D9Device.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);

Direct3D9Device.SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);
Direct3D9Device.SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR);
Direct3D9Device.SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_NONE);

Direct3D9Device.SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID);

Original comment by wagenhei...@gmail.com on 3 Apr 2011 at 1:59

GoogleCodeExporter commented 9 years ago

Original comment by andreas....@gmail.com on 8 Aug 2013 at 2:11