Giter Club home page Giter Club logo

dxr-sandbox-gi's People

Contributors

steaklive avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dxr-sandbox-gi's Issues

Questions about Lpvinjection and DX12

Good morning !
It's me again.and this time I have these questions...

Question 1. Is the

auto sample = reinterpret_cast<DXRSExampleGIScene*>(GetWindowLongPtr(hWnd, GWLP_USERDATA)); in
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
meaningful?

because the gsample is already a global value. I can predict the meaning of it is to be more OOP,and so that we can be more portability

Question 2. to generate the shadow map

we have a VSOnlyMain function,and I can't understand result.z *= result.w;
I guess the Hardware will do xyz/w for us ,after we output the float4
to be honest I don't know what situation will do xyz/w. I guess it will be done when use SV_position instead of Target0?

Question 3. The LPV injection

what we do? we put all RSM texels into LPV volume, in the program, is 2048*2048 into 32*32*32
it's obvious that the volume count is not enough,and this will lead to :
in the volume the old value will be coverd by new value ,because there must be two texels in one volume.
So I do a thing just like what you have done in propagation: Blend ! But the result is not so ideal
there is no indirect light!
please see the comparation, the below one is your right answer ,the up one is my wrong answer
QQ截图20230725124538
QQ截图20230725124611

Misc: If you don't have time ,you can omit this!

Thank you for your project. Without your project I will be breakdown,the Chinese toturial of DX12 is too rare
And I choose DX12 instead of OpenGL in mistake.The beginner should choose OpenGL better I think . because In my area, undergraduate don't have time to waste for DX12.It's too hard I think . and to find a work ,you just need OpenGL then your choice will be more.... I still have no offer T_T
And I will write a toturial about your project,For all DX12 Novice. I think then they may be easier to learn.
At last , Thank you very much!,and I feel sorry to occupy your time

i have some questions about the project

Sorry,it's my first time to use github,i don't know what the comment will affect you .
but i have some questions about it .In LPVpropagation.hlsl

VS_OUT VSMain(VS_IN input)
{
    VS_OUT output = (VS_OUT) 0;

    if (input.vertex == 0)
        output.screenPos.xy = float2(-1.0, 1.0);
    else if (input.vertex == 1)
        output.screenPos.xy = float2(3.0, 1.0);
    else
        output.screenPos.xy = float2(-1.0, -3.0);
    
    output.screenPos.zw = float2(0.0, 1.0);
    output.depthIndex = input.depthIndex;

    return output;
}

[maxvertexcount(3)]
void GSMain(triangle VS_OUT input[3], inout TriangleStream<GS_OUT> OutputStream)
{
    for (int i = 0; i < 3; i++)
    {
        GS_OUT output = (GS_OUT)0;
        output.depthIndex = input[i].depthIndex;
        output.screenPos = input[i].screenPos;
		
        OutputStream.Append(output);
    }
}
PS_OUT PSMain(GS_OUT input)
{
    PS_OUT output = (PS_OUT) 0;

    int4 cellIndex = int4(input.screenPos.xy - 0.5f, input.depthIndex, 0);
    SHContribution resultContribution = GetSHGatheringContribution(cellIndex);
        
    output.redSH = resultContribution.red;
    output.greenSH = resultContribution.green;
    output.blueSH = resultContribution.blue;
    
    output.acc_redSH = resultContribution.red;
    output.acc_greenSH = resultContribution.green;
    output.acc_blueSH = resultContribution.blue;
    
    return output;
}

i don't know why the value of screenPos is [-1,3] and whatever any small counts,and then
I open renderdoc,I saw it became [0-32] when i open any pixel's debugging.
there is no change for screenPos,the 32 Instance have the same screenpos,how can i identify 323232 volume for only one depthIndex

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.