2012-04-06 8 views
6

मैं शेडर को भेजे गए शीर्षकों की सरणी में उनके सूचकांक के आधार पर गतिशील रूप से वर्टेक्स स्थितियों की गणना करके अंक की ग्रिड बनाने की कोशिश कर रहा हूं। क्या gl_VertexID चर के बराबर है जिसे मैं अपने शेडर के भीतर से कॉल कर सकता हूं? या जीपीयू में अधिक डेटा भेजने के बिना सरणी में अपनी स्थिति तक पहुंचने का एक और तरीका? धन्यवाद, जोश।ओपनगलएस 2.0: gl_VertexID समकक्ष?

attribute vec4 vertexPosition; 
uniform mat4 modelViewProjectionMatrix; 
vec4 temp; 
uniform float width; 

void main() 
{  
    temp = vertexPosition; 

    // Calculate x and y values based on index: 
    temp.y = floor(gl_VertexID/width); 
    temp.x = gl_VertexID - width*temp.y; 

    gl_Position = modelViewProjectionMatrix * temp; 
} 
+3

आपके मूल प्रश्न का उत्तर नहीं है, लेकिन यह GLES 3.0 में जोड़ा गया था। http://www.khronos.org/registry/gles/specs/3.0/es_spec_3.0.0.pdf – nullspace

उत्तर

12

दुर्भाग्य से GLES2 में कोई gl_VertexID बराबर है:

यहाँ मेरी शीर्ष शेडर है। आपको अपने आप को अतिरिक्त डेटा बनाना और पास करना होगा।

संबंधित मुद्दे