1. Новый раздел и сервер Discord!
    Смотри новость ТЫК

[Урок] Светящийся чамс с помощью Shader!

Тема в разделе "Гайды для Warface", создана пользователем Санё4ек888, 25 сен 2013.

  1. Оффлайн

    Санё4ек888 Просто Человек

    402
    767
    155
    если тема наберет более 30 "мне нравится" я выложу в паблик 10 ежей с донатом
    Вот решил выложить урок по улучшению чамса.
    Этот урок сделал не я, но тут его нет и я решил его суда вылоджить.
    Если у вас есть исходник с гинератором текстур то вам будет легче.
    Ну перейдём к самому уроку!
    1. Что нам нужно, определить идентификаторы.
    Это вот этот код:
    bool ColorShader = true;
    Код: выделить все
    LPDIRECT3DPIXELSHADER9 Shade_Blue, Shade_Red, Shade_Yellow, Shade_Green, Shade_Fiolet, Shade_Siren, Shade_Orange, Shade_Limon, Shade_Gay;

    Ставим после #include и #define.
    2. Нужно поставить гинератор шейдеров.
    Вот этот код:
    Код: выделить все
    HRESULT GenerateShader(IDirect3DDevice9 *pDevice, IDirect3DPixelShader9 **pixelShader, float r, float g, float b )
    {
    char szShader[ 256 ];
    ID3DXBuffer *pShaderBuf = NULL;
    sprintf( szShader, "ps.3.0\ndef c0, %f, %f, %f, %f\nmov oC0,c0", r, g, b, 1.0f );
    D3DXAssembleShader( szShader, sizeof( szShader ), NULL, NULL, 0, &pShaderBuf, NULL );
    if( FAILED( pDevice->CreatePixelShader((const DWORD*)pShaderBuf->GetBufferPointer(), pixelShader)) )return E_FAIL;
    return S_OK;
    }

    Ставим над гинератором текстур!
    3. Указываем цвета.
    Код: выделить все
    if(ColorShader)
    {
    GenerateShader( pDevice, &Shade_Red, 1.0f, 0.0f, 0.0f);//Красный
    GenerateShader( pDevice, &Shade_Red, 1.0f, 0.0f, 0.0f);//Красный
    GenerateShader( pDevice, &Shade_Green, 0.0f, 1.0f, 0.0f);//Зелёный
    GenerateShader( pDevice, &Shade_Yellow, 1.0f, 1.0f, 0.0f);//Жёлтый
    GenerateShader( pDevice, &Shade_Fiolet, 1.0f, 0.0f, 1.0f);//Фиолетовый
    GenerateShader( pDevice, &Shade_Siren, 0.0f, 1.0f, 1.0f);//Сереневый
    GenerateShader( pDevice, &Shade_Orange, 1.0f, 0.8f, 0.0f);//Оранжевый
    GenerateShader( pDevice, &Shade_Limon, 0.8f, 1.0f, 0.0f);//Лимонный
    GenerateShader( pDevice, &Shade_Gay, 0.0f, 0.8f, 1.0f);//Голубой
    ColorShader = false;
    }

    ставим после цветов чамса, в myDrawIndexedPrimitive
    4. И теперь последнее. сама функция!
    Код: выделить все
    if (кости)
    {
    if (текстуры)
    {
    pDevice->SetPixelShader(Shade_Gay); //тут цвет
    pDevice->SetRenderState(D3DRS_ZENABLE, 0);
    pDrawIndexedPrimitive(pDevice, Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
    pDevice->SetRenderState(D3DRS_ZENABLE, 1);
    }
    }


    И твот пример:
    [​IMG]
    Это скрин maximazzz'a!

    Если помог ставь симпаху
     
    Slavik3838 и -_-MAKS-_-KRAI-_- нравится это.
  2.  

Поделиться этой страницей

Уважаемый пользователь!

Мы обнаружили, что вы блокируете показ рекламы на нашем сайте.

Просим внести его в список исключения или отключить AdBlock.

Наши материалы предоставляются БЕСПЛАТНО и единственным доходом является реклама.

Спасибо за понимание!