2016-06-22 9 views
5

im मेरे Android खेल विकास के लिए OpenGlEs10 का उपयोग करना, मैं इम डैश्ड लाइनों ड्रा करने के लिए अब इस कोड का उपयोग मेरे रेखा खींचें करना चाहते हैं:OpenGL ES - डैश रेखाएं

 gl.glColor4f(1.0f, 0.0f, 0.0f, 1.0f); 
     // gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 
     gl.glLineWidth(4.0f); 
     gl.glVertexPointer(2, GL10.GL_FLOAT, 0, mBufDestVertices); 
     gl.glDrawArrays(GL10.GL_LINE_LOOP, 0, mDesPoly.getNumPoints()); 

मैं इसे कैसे बदलें करना चाहिए? क्या मुझे लाइन बनावट है? और यदि हां, तो कैसे?

उत्तर

2

आपको एक बनावट का उपयोग करने की ज़रूरत नहीं है, आप बस glLineStipple(GLint factor, GLushort pattern) फ़ंक्शन का उपयोग कर सकते हैं और फिर glEnable(GL_LINE_STIPPLE) पर कॉल कर सकते हैं।

glLineStipple और इसके तर्कों के बारे में अधिक जानकारी के लिए आप this पर एक नज़र डाल सकते हैं।

+0

धन्यवाद लेकिन ओपनजीएलईएस 1 gllineStipple विधि नहीं है –

+0

आप OpenGL ES 2.0 का उपयोग क्यों नहीं करते? लगभग सभी मोबाइल डिवाइस आजकल इसका समर्थन करते हैं। अंतिम संकेत के रूप में आप अपने जाल को अधिक अंक में विभाजित करने और 'GL_LINES' के माध्यम से प्रस्तुत करने का प्रयास कर सकते हैं, लेकिन इसमें प्रदर्शन और ग्राफिकल प्रभाव हो सकता है। – Overblade

0

मैं एक -1 डी बनावट का उपयोग करने की सलाह देते हैं (प्रदर्शन: सम्मिश्रण के बजाय अल्फ़ा का उपयोग परीक्षण)

को भूल नहीं है:

  • सेट बनावट फिल्टर GL_NEAREST रैपिंग GL_REPEAT
  • करने के लिए
  • बनावट
+1

glLineStipple कोर फ़ंक्शन नहीं है –