2010-09-19 15 views
9

मैं JOGL के साथ इस class का उपयोग करने का प्रयास कर रहा हूं। यह बफररिल का संदर्भ देता है, जिसे मैं कहीं भी नहीं ढूंढ सकता। मुझे documentation मिला, लेकिन कोई वास्तविक कोड नहीं मिला। ग्रहण कहीं भी इसे आयात करने का सुझाव नहीं देता है। इस कोड का उपयोग करने में सक्षम होने के लिए मुझे क्या करना है?जावा: बफर यूट?

+0

आप अपने प्रोजेक्ट के लिए 'jogl.jar' फ़ाइल का संदर्भ जोड़ दिया है? –

+0

हां। जीएल 2 की तरह अन्य जॉगएल वर्ग, ठीक काम करते हैं। –

+0

जॉग 2.0 में कोई jogl.jar नहीं है, इसका नाम jogl.all.jar है। एडब्ल्यूटी निर्भरता के साथ एक और जार है। – gouessej

उत्तर

-1

मुझे लगता है कि वे BufferUtil खींच लिया एक समय पहले (जैसे कि यह कभी नहीं सुपर उपयोगी कुछ भी किया था वैसे भी यह लग रहा है) लेकिन जब से कोड बस एक नई ByteBuffer आबंटित करता है, आप इसकी आवश्यकता नहीं है। इसके बजाय बस ByteBuffer unpackedPixels = ByteBuffer.allocate(packedPixels.length * bytesPerPixel); करें।

एक नया जॉग क्लास भी है जो कुछ com.jogamp.opengl.util.texture.TextureIO नामक कुछ newTexture(...) विधियों के साथ कुछ करता है।

+0

बनावटियो बिल्कुल बिल्कुल बदलता है कि यह वर्ग क्या करने की कोशिश कर रहा है। बस इस वर्ग को अनदेखा करें और अंतर्निहित TextureIO का उपयोग करें। – Ricket

+1

आपका सुझाव गलत है क्योंकि आप अप्रत्यक्ष बाइट बफर को मूल रूप से मूल आदेश का सम्मान नहीं करते हैं। ऐसा करने से बचने के लिए हमें हमेशा सहायक वर्ग बफर का उपयोग करना चाहिए। खराब आवंटित बफर समस्याएं पैदा कर सकते हैं, कुछ विधियां केवल प्रत्यक्ष एनआईओ बफर का समर्थन करती हैं। – gouessej

2

JOGL डॉक बल्कि here और here है।

उपयोग Buffers BufferUtil के बजाय: com.jogamp.common.nio.Buffers

TextureIO JOGL 2.0 में पैकेज com.jogamp.opengl.util.texture.TextureIO में ले जाया गया है। यह एक नई कक्षा नहीं है, यह पहले से ही जॉग 1.1.0 में थी।

10

JOGL के लिए NeHe ट्यूटोरियल में, वहाँ बफ़र्स बनाने के लिए BufferUtil का उपयोग कर कई स्थानों रहे हैं। JOGL 2.0 के साथ हम इसके बजाय com.jogamp.common.nio.Buffers का उपयोग कर सकते हैं।

उदाहरण के लिए,

BufferUtil.newIntBuffer(BUFSIZE) हो जाता है Buffers.newDirectIntBuffer(BUFSIZE) BufferUtil.newByteBuffer(BUFSIZE) हो जाता है Buffers.newDirectByteBuffer(BUFSIZE)

+0

इसके बजाय com.jogamp.common.nio.Buffers का उपयोग करने के लिए इसका उपयोग करें। जीएलबफर ज्यादातर आंतरिक उपयोग के लिए हैं, यह सार्वजनिक एपीआई में भी नहीं होना चाहिए। – gouessej

+0

मैंने @ gouessej की टिप्पणी के अनुसार यह उत्तर अपडेट किया है कि हमें 'com.jogamp.opengl.util.GLBuffers' क्लास का उपयोग नहीं करना चाहिए। –