셰이더토이 효과 포팅하기 Qt Quick Effect Maker

셰이더토이에서 만든 효과는 Qt Quick Effect Maker 에서 사용할 수 있습니다. 셰이더토이 효과를 사용할 때는 다음 사항을 고려하세요:

  • Qt Quick Effect Maker 는 다음 Shadertoy 기능을 지원하지 않습니다:
    • 멀티패스 효과(버퍼 탭)
    • 오디오
    • 큐브 맵
    • 3D 텍스처
  • 셰이더토이는 조각 셰이더와 내장 텍스처만 지원합니다. Qt Quick Effect Maker 에서 효과 성능을 향상시키려면 일부 계산을 버텍스 셰이더로 이동하고 사용자 지정 이미지를 사용하여 셰이더 코드를 단순화하세요.
  • 셰이더토이와 Qt Quick Effect Maker 의 좌표계는 다릅니다. 셰이더토이에서는 원점(0,0)이 왼쪽 아래 모서리에 있는 반면 Qt Quick Effect Maker 에서는 원점이 왼쪽 위 모서리에 있습니다.

다음에서 셰이더토이 효과 사용 Qt Quick Effect Maker

Qt Quick Effect Maker 에서 셰이더토이 효과를 사용하려면 다음과 같이 하세요:

  1. Qt Quick Effect Maker 에서 새 효과를 만듭니다.
  2. 노드 편집기에서 Add node 을 선택한 다음 Common 아래에서 Custom 을 선택합니다. 그러면 빈 노드가 생성됩니다.

  3. Shadertoy에서 Image 탭의 모든 코드를 복사합니다.
  4. Qt Quick Effect Maker 에서 노드 편집기에서 Custom 노드를 두 번 클릭합니다. 코드 편집기가 열립니다.
  5. 셰이더토이 코드를 Frag 탭에 붙여넣습니다.
  6. 코드에서 Main 함수를 찾습니다:
    void mainImage( out vec4 fragColor, in vec2 fragCoord )
  7. 이 줄을 다음과 같이 바꿉니다:
    @main

    참고: @main 와 다음 {를 같은 줄에 넣을 수 없습니다.

  8. 선택 사항입니다. 효과가 좌표계에 따라 달라지는 경우 거꾸로 표시됩니다. 이 문제를 해결하려면 Y 좌표를 뒤집어야 합니다:
    1. Vert 탭으로 이동합니다.

    2. 드롭다운 메뉴에서 Main 을 선택합니다.
    3. fragCoord 줄을 찾으면 다음과 같이 보일 것입니다:
      fragCoord = qt_Vertex.xy;
    4. 이 줄을 다음으로 바꿉니다:
      fragCoord = vec2(qt_Vertex.x, iResolution.y - qt_Vertex.y);
    5. 마찬가지로 texCoordiMouse 을 조정해야 할 수도 있습니다.

이제 효과가 실행되고 셰이더토이 효과와 동일하게 보입니다.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.