d3dx9: D3DXCreateMeshFVF and ID3DXMesh... let the criticism begin

Misha Koshelev misha680 at gmail.com
Mon Jul 26 20:29:29 CDT 2010


Dear All:

I have worked hard today with Henri on my D3DXCreateSphere patch and
appreciate all his help (and all of your help and patience with me and
my inability to use email programs and IRC programs ;) ).

I am now moving on to implementing D3DXCreateMeshFVF and ID3DXMesh so
that we can actually get D3DXCreateSphere, Box, and Cylinder going (and
teapot... or a stub).

I attached my current versions. I expect a lot of comments/changes:
* patch 1 - same patch as I submitted with Henri's blessing. Hopefully
this will go in tomorrow. This is just for reference.
* patch 2 - add stub for D3DXCreateMeshFVF and basic test. I'm assuming
this should go in too if I sent it by itself tomorrow.
* patch 3 - enumeration. Also fairly simple.
* patch 4 - complete D3DXCreateMeshFVF test. Any criticisms? At the very
least, I would like to send patches 2-4 tomorrow, provided patch 1 goes
in (I'm assuming so per the Henri blessing part ... fingers crossed)

* patch 5 - this is clearly not complete and I hope to get some good
feedback on this patch. I've already gotten some feedback from Tony
Wasserka (thank you). Specifically, I expect per his comment I must
reimplement using declarators
http://bugs.winehq.org/show_bug.cgi?id=22918#c39

This means that I must first get a patch committed that implements
D3DXDeclaratorFromFVF which is currently a stub in git.

Additionally, I realize Tony has, in his private repo, some more work on
ID3DXMesh that is somewhat more complete I believe than mine:
http://repo.or.cz/w/wine/d3dx9TW.git/blob/Merge:/dlls/d3dx9_36/basemesh.c

I have not yet given this detailed scrutiny as, for me, it is easier to
start with my own code, and then work from there, potentially
integrating Tony's code (thank you) based on your feedback about what is
necessary, etc.

However, I have currently limited my code to the features that are
necessary for ID3DXMesh for D3DXCreateSphere, Cylinder, and Box, as the
aim was to fix this bug:
http://bugs.winehq.org/show_bug.cgi?id=22918

In any case, I appreciate your attention to these patches and good
feedback.

I am specifically quite interested in feedback to patches 2-4, as I'd
like to (ideally) submit versions of these that go through tomorrow.

However, as the bulk of my work tomorrow (and probably for quite a bit
afterwards) I expect on patch 5, I'd appreciate, it possible a list of
things that are necessary to get such a patch committed. (Please correct
me if I am wrong about having to implement D3DXDeclaratorFromFVF.)

I chose to put this hard stuff first.

Then, quite honestly, I believe adding tests for D3DXCreateBox and
Cylinder, as well as the actual implementations, should be fairly simple
compared to this part.

In any case, I eagerly (anxiously) await constructive
criticism/feedback/suggestions.

Thank you
Misha


More information about the wine-devel mailing list