Sign in to follow this  
Dannyli

vertice array

Recommended Posts

Dannyli    135
CUSTOMVERTEX vertices[] =
    {
		{ 100.0f, 400.0f, 0.5f, 1.0f, 0xffff0000, },
        { 300.0f,  50.0f, 0.5f, 1.0f, 0xff00ff00, }, 
        { 500.0f, 400.0f, 0.5f, 1.0f, 0xff0000ff, },
    };

 

what means "  0xffff0000?" ?    I know 100.0f, 400.0f, 0.5f, 1.0f, means the point

Share this post


Link to post
Share on other sites
menohack    216

You can lay out your CUSTOMVERTEX however you want but I am assuming that the first 4 floats correspond to the position as a float4(x,y,z,w) and the last integer is a vertex color 0xRRGGBBAA for red, green, blue and transparency. In the first one it is probably the color teal.

 

Your input layout determines all of these (D3D11_INPUT_ELEMENT_DESC).

Share this post


Link to post
Share on other sites
Dannyli    135

So this sample draw a triangle with three color points, or a blending color triangle?

HRESULT InitVB()
{
	//user's data of the points
    CUSTOMVERTEX vertices[] =
    {
		{ 100.0f, 400.0f, 0.5f, 1.0f, 0xffff0000, },
        { 300.0f,  50.0f, 0.5f, 1.0f, 0xff00ff00, }, 
        { 500.0f, 400.0f, 0.5f, 1.0f, 0xff0000ff, },
    };

	//creat the point buffer area
    if( FAILED( g_pd3dDevice->CreateVertexBuffer( 3*sizeof(CUSTOMVERTEX),
                                                  0, D3DFVF_CUSTOMVERTEX,
                                                  D3DPOOL_DEFAULT, &g_pVB, NULL ) ) )
    {
        return E_FAIL;
    }

	//blend
    VOID* pVertices;
    if( FAILED( g_pVB->Lock( 0, sizeof(vertices), (void**)&pVertices, 0 ) ) )
        return E_FAIL;
    memcpy( pVertices, vertices, sizeof(vertices) );
    g_pVB->Unlock();

    return S_OK;
}

Share this post


Link to post
Share on other sites
mhagain    13430

No, that sample draws nothing.  What that sample does is create a vertex buffer and fill it with the data you supply.  It's probably copy and pasted from a tutorial that uses SetFVF with D3DFVF_XYZRHW | D3DFVF_DIFFUSE.  Since it's using SetFVF the actual blending mode (or lack thereof) will depend on the SetTextureStageState calls elsewhere in the tutorial.

Share this post


Link to post
Share on other sites
L. Spiro    25619

menohack, on 21 May 2013 - 08:13, said:
the last integer is a vertex color 0xRRGGBBAA for red, green, blue and transparency. In the first one it is probably the color teal.

The format is 0xAARRGGBB, so the first color is red. Always use the D3DCOLOR_ARGB() macro when composing colors.


L. Spiro

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this