[Warface] Shader Chams

Тема в разделе "Создания ПО", создана пользователем artemfcsh, 3 фев 2013.

  1. artemfcsh

    artemfcsh Active Member

    Репутация:
    0
    Регистрация:
    29 июн 2012
    Сообщения:
    1.006
    Симпатии:
    0
    Всем привет!

    Многих интересует информация как делать Шейдерный Чамс/Shader Chams, так как вот "Многим" лень бродить на просторах интернета, поэтому я решил, облегчить вам задачу, и выложу то чем я когда то пользовался :





    Перейдем к кодам:



    В самом верху( там где #include и #define), прописываем :





    Над блоком HRESULT WINAPI myDrawIndexedPrimitive прописываем генератор шейдеров :





    Затем в самом блоке myDrawIndexedPrimitive прописываем создание цветов :





    Поздравляю, PixelShader's готовы)



    Это просто применение цветов :





    Это живой пример :





    Ну вот и все!



    Специaльно для PbHack.Ru
     
  2. artemfcsh

    artemfcsh Active Member

    Репутация:
    0
    Регистрация:
    29 июн 2012
    Сообщения:
    1.006
    Симпатии:
    0
    АП!

    Сделал я!
     
  3. sniker

    sniker New Member

    Репутация:
    0
    Регистрация:
    21 июн 2012
    Сообщения:
    1.090
    Симпатии:
    0
    Неплохая тема
     
  4. artemfcsh

    artemfcsh Active Member

    Репутация:
    0
    Регистрация:
    29 июн 2012
    Сообщения:
    1.006
    Симпатии:
    0
    Спасибо!
     
  5. EffectStrike

    EffectStrike New Member

    Репутация:
    0
    Регистрация:
    2 окт 2012
    Сообщения:
    204
    Симпатии:
    0
     
  6. artemfcsh

    artemfcsh Active Member

    Репутация:
    0
    Регистрация:
    29 июн 2012
    Сообщения:
    1.006
    Симпатии:
    0
     
  7. artemfcsh

    artemfcsh Active Member

    Репутация:
    0
    Регистрация:
    29 июн 2012
    Сообщения:
    1.006
    Симпатии:
    0
  8. qazwar1

    qazwar1 New Member

    Репутация:
    0
    Регистрация:
    3 июн 2012
    Сообщения:
    849
    Симпатии:
    0
    Открою тебе маленький секрет.... Только ты не кому!

    if(MenuF_Struktal_Shader_Shams==1) - это сдесь не нужно........

    раз самм, то объясни вот эту строчку:

    Код:
    sprintf( szShader, "ps.2.0\ndef c0, %f, %f, %f, %f\nmov oC0,c0", r, g, b, 1.0f );
    почему 2.0,почему именно "nmov oC0,c0", ну или хотя бы что значит символы рядом с литераломи.....
     
  9. artemfcsh

    artemfcsh Active Member

    Репутация:
    0
    Регистрация:
    29 июн 2012
    Сообщения:
    1.006
    Симпатии:
    0
    пользуемся пока есть!
     
  10. artemfcsh(2)

    artemfcsh(2) Member

    Репутация:
    0
    Регистрация:
    10 ноя 2012
    Сообщения:
    995
    Симпатии:
    0
    Ну объясню не все)

    И так для чего служит sprintf():

    Код:
    Функция sprintf() идентична функции printf() за исключением того, что поток вывода записывается в массив, адресуемый указателем buf, а не в стандартный поток stdout. По окончании работы функции этот массив будет завершаться символом конца строки (нуль-символом).
    
    В версии С99 к параметрам buf и format применен квалификатор restrict.
    
    Возвращаемое значение равно числу символов, действительно помещенных в массив.
    
    Важно понимать, что функция sprintf() не обеспечивает никакой проверки переполнения массива, адресуемого указателем buf. Это значит, что массив будет переполнен, если объем выводимых символов превысит длину массива.
    
    
    szShader = Небольшая пометка на переменную шейдера

    Ну а остальное тоесть ps.2.0\ndef c0, %f, %f, %f, %f\nmov oC0,c0", r, g, b, 1.0f );

    Служит для определения показа цветов и так сказать нахождения параметров цветов карты,игроков,и т д
     
  11. iRaNDoM

    iRaNDoM New Member

    Репутация:
    0
    Регистрация:
    18 ноя 2012
    Сообщения:
    445
    Симпатии:
    0
    Эта тема не твоя и скопирована с читона. И на* ты это выложил?Нубы не поймут как настроить этот код под определенную игру....

    И я надеюсь что никто никому не станет помогать настаивать это под warface,shadowcompany и тд
     
  12. qazwar1

    qazwar1 New Member

    Репутация:
    0
    Регистрация:
    3 июн 2012
    Сообщения:
    849
    Симпатии:
    0
    Это переменная(буфер) в который ты с помощью функции sprintf записываешь знаение данных.....

    Хвала гуглу....



    ps.2.0 - указывает на версию шейдера

    %f, %f, %f, %f это литералы соответствующие переменным r, g, b, 1.0f(то есть значения каждого из каналов цвета)

    а если интересно что такое "\nmov oC0,c0" - то читай гугл по тегу "шейдеры DirectX 9.0"
     
  13. qazwar1

    qazwar1 New Member

    Репутация:
    0
    Регистрация:
    3 июн 2012
    Сообщения:
    849
    Симпатии:
    0
    Для этих игр, эта генерация не подойдет....
     
  14. iRaNDoM

    iRaNDoM New Member

    Репутация:
    0
    Регистрация:
    18 ноя 2012
    Сообщения:
    445
    Симпатии:
    0
    Ну я об этом и говорю, чтоб никто никому не помогал....
     
  15. #Owned

    #Owned New Member Заблокированные

    Репутация:
    0
    Регистрация:
    1 сен 2012
    Сообщения:
    986
    Симпатии:
    0
    Настоящий копипаст,ни 1 слва нет тут твоего.

    Лучше сделать тогда атоопределение версии шейдеров(взято с той же темы).

    Что бы не мучиться и не подбирать версии шейдеров.


    Код:
    //определяем версию пиксельных шейдеров.
    
    int PXSHVER1 = ( D3DSHADER_VERSION_MAJOR(caps.PixelShaderVersion));
    
    int PXSHVER2 = ( D3DSHADER_VERSION_MINOR(caps.PixelShaderVersion));
    
    sprintf( szShader, "ps_%d_%d\n mov oC0, c0\n", PXSHVER1, PXSHVER2);
     
  16. #Owned

    #Owned New Member Заблокированные

    Репутация:
    0
    Регистрация:
    1 сен 2012
    Сообщения:
    986
    Симпатии:
    0
    И тем более у нас в пб тектсуркине шейдеры.
     
  17. iRaNDoM

    iRaNDoM New Member

    Репутация:
    0
    Регистрация:
    18 ноя 2012
    Сообщения:
    445
    Симпатии:
    0
    Я же просил ничего не писать, ну и твое автоопределение версии шейдеров без
    Код:
    D3DCAPS9 caps;
    будет выдавать ошибку при построении
     
  18. qazwar1

    qazwar1 New Member

    Репутация:
    0
    Регистрация:
    3 июн 2012
    Сообщения:
    849
    Симпатии:
    0
    [​IMG]

    Код:
    D3DCAPS9 caps; 
    
        Ваше_устройство->GetDeviceCaps(&caps);
     
  19. artemfcsh(2)

    artemfcsh(2) Member

    Репутация:
    0
    Регистрация:
    10 ноя 2012
    Сообщения:
    995
    Симпатии:
    0
  20. New_FIDANzza

    New_FIDANzza New Member

    Репутация:
    0
    Регистрация:
    2 дек 2012
    Сообщения:
    14
    Симпатии:
    0
    Эм, не буду навязывать. Но бля, с какого хуя весь материал взят с CHEATON.RU, и нагло выставлен здесь?
     

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