Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!   (85,382 visits to this link)

    2. News

    1. GTA Online

      1. Find Lobbies & Players
      2. Guides & Strategies
      3. Vehicles
      4. Content Creator
      5. Help & Support
    2. Crews

      1. Events
      2. Recruitment
    1. Grand Theft Auto Series

    2. GTA Next

    3. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    4. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA Mods
    5. GTA Chinatown Wars

    6. GTA Vice City Stories

    7. GTA Liberty City Stories

    8. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    9. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    10. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    11. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    12. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    3. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption 2

    2. Red Dead Redemption

    3. Rockstar Games

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Forum Support

    2. Site Suggestions

Gian_Yagami

where do I can learning about shader?

Recommended Posts

Gian_Yagami

I see some mod such as SA:render, enb, sweetFX, reShade are using external shader script with extension fx. Anyone who can teach me or at least give me some information?

Share this post


Link to post
Share on other sites
DK22Pac

Frank D. Luna, "Introduction to 3D Game Programming with DirectX 9.0", Part IV "Shaders and Effects".

 

Shaders is one of the planned extension modules in plugin-sdk. It's still far from the final look, but you can do some simple experiments already (GTA SA only).

 

Main.cpp

 

#include "plugin.h"#include "extensions\Shader.h"using namespace plugin;class MyPlugin {public:    MyPlugin() {        static Shader *pDizzyShader = nullptr;        // load shader from file        Events::initRwEvent += [] { pDizzyShader = new Shader(PLUGIN_PATH("shaders\\dizzy")); };        // draw a rectangle with our shader        Events::drawingEvent += [] {            static float time = 0.0f;            pDizzyShader->Enable();            pDizzyShader->PackPSParameters(time);            pDizzyShader->DrawRect(100.0f, 100.0f, 400.0f, 400.0f);            pDizzyShader->Disable();            time += 0.2f;        };        // destroy shader        Events::shutdownRwEvent += [] { delete pDizzyShader; };    }} myPlugin;
Dizzy.fx (Simple 'Dizzy' shader)

 

#FX "dizzy"#VertexShader "main_vs" "vs_2_0"struct VsOutput {   float4 _pos: POSITION;   float2 _texCoord: TEXCOORD0; };VsOutput main_vs(float4 pos: POSITION){    VsOutput Out;    pos.xy = sign(pos.xy);    Out._pos = float4(pos.xy, 0, 1);    Out._texCoord = pos.xy;    return Out;}#PixelShader "main_ps" "ps_2_0"float time : register(c0);float4 main_ps(float2 texCoord: TEXCOORD0) : COLOR{    float ang = atan2(texCoord.x, texCoord.y);    float rad = pow(dot(texCoord, texCoord), 0.5);    float3 color = 0.5 * (1 + sin(ang + 20 * rad + time));    return float4(color, 1);};
Note: requires GPU with Shader Model 2.0 support. Edited by DK22Pac

Share this post


Link to post
Share on other sites
Gian_Yagami

How I can draw shader to specific object (ex: water)?

Share this post


Link to post
Share on other sites
DK22Pac

How I can draw shader to specific object (ex: water)?

In order to do this you need to understand what's 'water object', and how and where it's rendered.

Basically you can enable your shader before object/mesh rendering, and disable it after rendering.

Edited by DK22Pac

Share this post


Link to post
Share on other sites
Gian_Yagami

In order to do this you need to understand what's 'water object', and how and where it's rendered.

Basically you can enable your shader before object/mesh rendering, and disable it after rendering.

 

as far as I know, water object is unique mesh which have different collision (subject can go through into it) and they animated like real life fluid.

 

by the way I will take game programming class and visual programming class in my campus. Hope I can learn more about it.

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

×

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.