Jump to content

  • Log In with Google      Sign In   
  • Create Account


vbs and processvertices, how?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 AlexM   Members   -  Reputation: 122

Like
Likes
Like

Posted 23 October 1999 - 06:40 PM

first, is this ok?:
if (SUCCEEDED(lpd3dvb->Lock(DDLOCK_WAIT,&lpdata,NULL)))
{
//list is any array of three D3DVERTEX,
//already filled in
memcpy(lpdata,list,sizeof(D3DVERTEX) * 3);
lpd3dvb->Unlock();
}
and, if i wanted to process the above vb, with D3DVERTEX format into transformed, clipped, but unlight, except ambient, what FVF format do i need to use for the dest vb? i got really confused here, or something else is wrong...


Sponsor:

#2 mhkrause   Members   -  Reputation: 122

Like
Likes
Like

Posted 23 October 1999 - 06:40 PM

DO NOT USE PROCESSVERTICES!!!!

Whenever you do a draw primitive call with an untransformed vb, it will do the transformations for you, in hardware if possible. You don't need to call ProcessVertices before rendering.

ProcessVertices() will always be done on the CPU, never in hardware. Even if you have a GeForce 256 or some other hardware TnL card, ProcessVertices() will not use it.


If you want to use ProcessVertices for some other reason, if you're using a D3DFVF_VERTEX format, your destination VB should have the format D3DFVF_TLVERTEX. Call ProcessVertices() with D3DVOP_CLIP | D3DVOP_LIGHT | D3DVOP_TRANSFORM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS