[PATCH] ddraw: implement Pick() and GetPickRecords().

MattKC itsmattkc at gmail.com
Fri Aug 2 13:46:10 CDT 2019


On 8/3/19 1:16 AM, Henri Verbeet wrote:
> Hi Matthew,
>
> On Thu, 1 Aug 2019 at 23:36, MattKC <itsmattkc at gmail.com> wrote:
>> Picking has been implemented by reusing the code from
>> d3d_execute_buffer_execute() with the drawing functions removed
>> leaving the core vertex processing and adding click tests for creating
>> an array of D3DPICKRECORDs.
> That strikes me as less than ideal. Which alternatives did you
> consider? Also, do you have tests to go along with this?
>
> Henri
Hi Henri,

I would agree it's not very efficient, however I believe it is accurate
to how the function is intended to work according to the SDK
documentation.

The documentation says:

"The IDirect3DDevice::Pick method executes a buffer without performing
any rendering, but returns a z-ordered list of offsets to the primitives
that intersect the upper-left corner of the rectangle specified by
lpRect."

I don't have any tests I'm afraid, I used the two games I mentioned to
develop this patch.

Matt



More information about the wine-devel mailing list