libgdx

2013-08-12 13 views
8

में एंटी-एलियासिंग भरे आकार ShapeRenderer (यानी ShapeType.Filled) के साथ खींचे गए आकारों के एंटी-एलियास किनारों के लिए हर जगह देख रहे हैं, लेकिन इसके बारे में कुछ भी नहीं मिल रहा है।libgdx

लाइन्स Gdx.gl.glEnable(GL10.GL_LINE_SMOOTH) के साथ अच्छी तरह से काम करती है लेकिन कुछ भी मैंने पूर्ण आकार के साथ काम करने की कोशिश नहीं की है। तो, क्या किसी के पास कोई सुझाव है?

उत्तर

7

शायद इस लिंक में मदद मिलेगी: MULTI SAMPLING ANTI-ALASING IN LIBGDX ON ANDROID

सामान्य रूप में आप चिकनी भरा आकार के किनारों के लिए multisampling सक्षम करने के लिए किया है।

http://www.opengl.org/wiki/Multisampling

+3

यदि आप libGDX का उपयोग कर रहे हैं तो आपको निम्न स्तर की आवश्यकता होने की आवश्यकता है। वे इन सभी चीजों को दूर करने के लिए अपने रास्ते से बाहर चले गए हैं। यहां पहिया को फिर से क्यों दोहराएं? –

3

मैं ओपन में विरोधी aliasing समर्थन विशेष रूप से बुनियादी बहुभुज पुरातन के लिए कमी है (वास्तविक समर्थन के रूप में वैकल्पिक हार्डवेयर समर्थन पर निर्भर करता है), मिल गया है। मेरे पास काम करने के लिए दो समाधान हैं:

सबसे पहले, आप बनावट का उपयोग करते समय उचित बहु-नमूनाकरण प्राप्त कर सकते हैं। तो, शायद अपने बहुभुज को फ़्रेमबफर ऑब्जेक्ट में प्रस्तुत करें, और फिर उसे स्क्रीन पर कॉपी करें। अभी भी चेतावनी का एक गुच्छा है, अधिक जानकारी के लिए http://www.saschahlusiak.de/2012/10/opengl-antialiasing-in-android-with-transparent-textures/ देखें।

दूसरा, एंटी-एलियास के साथ अपने भरे हुए आकार को प्रस्तुत करें, जैसा कि इस प्रश्न में है: Drawing Antialiased circle using Shaders। यदि आपका भरा प्राचीन आकार जटिल है, तो यह काफी काम हो सकता है। Libgdx के साथ एक शेडर का उपयोग करने के लिए https://code.google.com/p/libgdx/wiki/OpenGLShader देखें। यह विकल्प केवल ओपनजीएल ईएस 2.0 के साथ भी काम करता है।

2

क्या आपने संकेतों का पालन करने की कोशिश की है?

Gdx.gl.glEnable(GL10.GL_LINE_SMOOTH); 
Gdx.gl.glEnable(GL10.GL_POINT_SMOOTH); 
Gdx.gl.glHint(GL10.GL_POLYGON_SMOOTH_HINT, GL10.GL_NICEST); 
Gdx.gl.glHint(GL10.GL_POINT_SMOOTH_HINT, GL10.GL_NICEST); 
+1

दुर्भाग्य से, आपके द्वारा वर्णित स्थिरांक libGDX के नवीनतम संस्करण में प्रतीत नहीं होते हैं। https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/graphics/GL20.java – Travis

+0

हाँ, वे केवल तभी उपलब्ध हैं जब आप OpenGL ES 1.0 का उपयोग करते हैं, 2.0 नहीं – Wizche