From: Johann D. <jo...@Do...> - 2002-01-27 11:20:07
|
On Sat, 26 Jan 2002, Rodrigo Damazio wrote: > > Bj|rn Augustsson wrote: > > > Quoting Johann Deneux <jo...@Do...>: > > > >> About interactive effects: See these effects as functions from something > >> to a force. > >> Position -> Force : That's a spring > >> Velocity -> Force : That's friction (or damping, why does pid define > >> both > >> as different effects ???) > >> > > > > No idea. Note how the spec avoids talking about that about halfway thru > > section 5.3, on page 12. > > > It's just like he said...take a look at Immersion Studio... The point was: what's the difference between friction and damping ? PID define both effect types, but on page 12 they use both terms to refer to the same function (force = f(Velocity)). > > >>> what would FF_RUMBLE be?? Is it I-force specific?? If it's okay, I'll > >> > >> No, this effect is the "force feedback for the poor". It's used in IFeel > >> mice for example. It's just a simple vibration. You can find it in > >> some console joypads, too. For example, the AVB Pegasus joystick has > >> (should have, mine has none) a connector to add a joypad supporting > >> rumble > >> effects. > >> > > > > Right. This is not even defined in the PID spec, which is kind of > > weird. > > That's why I thought it might be I-force specific...well, if it > works, just leave it there... It does not "work" right now, as it's not implemented (none of my devices support it). But people working on the IFeel mouse will probably use it. > >> The other solution would be to hide these parameter blocks and let the > >> driver optimize its memory usage. This looks pretty ambitious to me, > >> though. > >> > > > > Absolutely. Again, it could be done in a library. > > > > Hmm, Rodrigo, did you have a look at what the MS DirectInput looks > > like? How > > do they do this? > > > Yes, I have - it seems they use 1-to-many...look at this: > > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dx8_c/directx_cpp/Input/CPP_Tuts/Tut4/Step4CreatingEffect.asp I also had a look, and found no reference to sharing parameter blocks. What they have is basically the following: - a struct DIEFFECT describing the basic attributes (direction, timing...). This struct has pointers to the two other structures - a struct DIPERIODIC, to set the period, phase... - a struct DIENVELOPE, for the envelope. None of these structures has ids. This makes me think parameter blocks cannot be shared, or at least the user has no control over it. Updating effects is done the same way we do it (by sending the changed effect and specifying the id of the effect to change). I see no way change a parameter block alone. To me it seems that parameter blocks do not have an existence of their own. -- Johann Deneux |