खोज…


वाक्य - विन्यास

  • #version version_number // हम किस GLSL संस्करण का उपयोग कर रहे हैं
  • शून्य मुख्य () {/ * कोड * /} // शेडर का मुख्य कार्य
  • नाम में; // एक इनपुट पैरामीटर निर्दिष्ट करता है - GLSL 1.30
  • टाइप नाम; // आउटपुट पैरामीटर निर्दिष्ट करता है - GLSL 1.30
  • inout प्रकार का नाम; // इनपुट और आउटपुट दोनों के लिए पैरामीटर - GLSL 1.30

पैरामीटर

पैरामीटर विवरण
प्रकार पैरामीटर का प्रकार, यह एक GLSL अंतर्निर्मित प्रकार होना चाहिए।

टिप्पणियों

यह निर्दिष्ट करने के लिए कि #version 330 संस्करण का उपयोग किसी शेडर को संकलित करने के लिए किया जाना चाहिए, संस्करण प्रीप्रोसेसर जैसे #version 330 उपयोग करें। OpenGL के प्रत्येक संस्करण को GLSL के विशिष्ट संस्करणों का समर्थन करना आवश्यक है। यदि किसी #version के शीर्ष पर #version प्रीप्रोसेसर परिभाषित नहीं है, तो डिफ़ॉल्ट संस्करण 1.10 का उपयोग किया जाता है।

एक रंगीन आयत के प्रतिपादन के लिए छायादार

OpenGL के अर्थ में एक शेडर प्रोग्राम में कई अलग-अलग शेड्स होते हैं। किसी भी shader प्रोग्राम में कम से कम एक शीर्ष shader होना चाहिए, जो स्क्रीन पर बिंदुओं की स्थिति की गणना करता है, और एक टुकड़ा shader, जो प्रत्येक पिक्सेल के रंग की गणना करता है। (वास्तव में कहानी लंबी और अधिक जटिल है, लेकिन फिर भी ...)

निम्नलिखित #version 110 , लेकिन कुछ बिंदुओं को स्पष्ट करना चाहिए:

वर्टेक्स शेडर:

#version 110

// x and y coordinates of one of the corners
attribute vec2 input_Position;

// rgba colour of the corner. If all corners are blue, 
// the rectangle is blue. If not, the colours are 
// interpolated (combined) towards the center of the rectangle    
attribute vec4 input_Colour; 

// The vertex shader gets the colour, and passes it forward     
// towards the fragment shader which is responsible with colours
// Must match corresponding declaration in the fragment shader.  
varying vec4 Colour;    

void main()
{
    // Set the final position of the corner
    gl_Position = vec4(input_Position, 0.0f, 1.0f);
    
    // Pass the colour to the fragment shader
    UV = input_UV;
}

टुकड़े टुकड़े करना:

#version 110

// Must match declaration in the vertex shader.  
varying vec4 Colour;

void main()
{
    // Set the fragment colour
    gl_FragColor = vec4(Colour);
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow