दिलचस्प पोस्ट
एंड्रॉइड में प्रवेश करने के लिए मैं आउटपुट कैसे लिखूं? जावा क्लाइंट में सर्वर के स्व-हस्ताक्षरित एसएसएल प्रमाण पत्र स्वीकार करें जावा में "कड़े" शब्द का उपयोग कब करना चाहिए? स्विफ्ट में, मैं दोनों विकल्प और शून्य वस्तु संदर्भों से कैसे बचूं? सी ++ में विषम कंटेनर किसी बैकग्राउंड वर्कर के निपटान का सही तरीका जावा – शून्य चर की स्मृति में स्थान की आवश्यकता होती है नोकोगिरि 'मणि देशी एक्सटेंशन बनाने में विफल' जब मैं बंडल इंस्टॉल चलाता हूं पास पैरामीटर पी: जावास्क्रिप्ट से दूरसंचार मैं कैसे विशेष वर्णों के साथ सौदा करूँगा \ ^ $।? * * | + () [[मेरे रेगेक्स में? "वास्तविक" संस्कृति का उपयोग करें। WPF बाध्यकारी में वर्तमान संस्कृति, IetfLanguageTag से CultureInfo नहीं सब्सक्राइबरसॉल्लेक्शन <string> सी # कॉलम नाम वाले वेरिएबल के आधार पर विभिन्न कॉलम से मान चुनें सीमा वर्ण tesseract के लिए देख रहा है डॉकर्स छवि इंस्टॉलेशन निर्देशिका को कैसे बदलना है?

पिक्सेल स्पेस में ओपन ग्लोबल बनावट निर्देशांक

मैं एक आईफोन ऐप पर काम कर रहा हूं जो ओपनजीएल ईएस 2 का उपयोग ड्राइंग के लिए करता है। मुझे पता है कि आम तौर पर बनावट निर्देशांक 0-1 श्रेणी में परिभाषित होते हैं, लेकिन आदर्श रूप से मैं उन्हें पठनीयता के लिए 0-1023 (मेरे बनावट एटल्स का आकार) से मानचित्र करना चाहता हूं। मैंने नमूना कोड देखा है जो इस तरह के निर्देशांक को परिभाषित करता है, लेकिन यह पता नहीं लगाया कि पिछले कॉल क्या किए गए जो इस के लिए अनुमत थे। glMatrixMode(GL_TEXTURE) ऐसा लगता है कि इसमें शामिल हो सकता है, लेकिन मुझे पूरा यकीन नहीं है कि इसे कैसे लागू किया जाए

मेरा अंतिम लक्ष्य इस तरह से कुछ हासिल करना होगा, जहां पर मैं एटलस के भीतर उपयोग कर रहा हूं, ऊपरी बायां 48px वर्ग में है:

 GLshort texcoords[]={ 48,48, 0,48, 48,0, 0,0, }; glVertexAttribPointer(ATTRIB_TEXTUREPOSITON, 2, GL_SHORT, 0, 0, texcoords); glEnableVertexAttribArray(ATTRIB_TEXTUREPOSITON); 

वेब के समाधान से एकत्रित समाधान "पिक्सेल स्पेस में ओपन ग्लोबल बनावट निर्देशांक"

इसे कुछ समय से पूछा गया है, लेकिन मेरे पास लिंक नहीं है, इसलिए एक तेज़ और मोटे तौर पर विवरण। मान लीजिए कि बनावट 8 पिक्सल चौड़ी है:

  | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ^ ^ ^ ^ ^ ^ ^ ^ ^ 0.0 | | | | | | | 1.0 | | | | | | | | | 0/8 1/8 2/8 3/8 4/8 5/8 6/8 7/8 8/8 

अंक बनावट के पिक्सल को दर्शाते हैं, बनावट के किनारों को पट्टियाँ और निकटतम पिक्सल के बीच सीमा को छानने के मामले में। आप पिक्सल के केंद्रों को मारना चाहते हैं तो आप बनावट निर्देशांक में रुचि रखते हैं

(0/8 + 1/8) / 2 = 1 / (2 * 8)

(1/8 + 2/8) / 2 = 3 / (2 * 8)

(7/8 + 8/8) / 2 = 15 / (2 * 8)

या अधिक सामान्यतः पिक्सेल i के लिए एन बनावट में उचित बनावट समन्वय है

(2i + 1) / (2 एन)

हालांकि, यदि आप अपनी पिक्चर को स्क्रीन पिक्सेल के साथ पूरी तरह से संरेखित करना चाहते हैं, तो याद रखें कि निर्देशांक के रूप में आप जो निर्दिष्ट करते हैं वह ट्रैक्टर के पिक्सेल नहीं हैं, लेकिन किनारों पर निर्भर करता है, जो प्रक्षेपण के आधार पर स्क्रीन पिक्सेल किनारों के साथ संरेखित हो सकते हैं, केंद्र नहीं, इस प्रकार अन्य बनावट की आवश्यकता हो सकती है समन्वय करता है।

मैं सहज ज्ञान युक्त आंकड़ा खोजने के लिए 1 घंटे बर्बाद करता हूं, लेकिन आश्चर्यजनक रूप से कोई भी चित्रित नहीं हुआ। तो मैंने किया।

4 पिक्सेल बनावट को देखते हुए, सामान्यीकृत बनावट निर्देशांक [0,1], असमानकृत बनावट निर्देशांक [0, चौड़ाई], gl_FragCoord [0, चौड़ाई] निम्नानुसार है

यहां छवि विवरण दर्ज करें

संदर्भ

  1. https://www.khronos.org/registry/gles/specs/3.1/es_spec_3.1.pdf में p270
  2. https://www.opengl.org/sdk/docs/man/html/gl_FragCoord.xhtml
  3. https://www.opengl.org/wiki/Sampler_(GLSL)

यह मुड़ता है ओपनजीएल 2 में यह संभव है। यहां बताया गया है कि मैंने इसे कैसे पूरा किया है:

टुकड़ा शादर:

 precision mediump float; varying vec2 v_texCoord; uniform sampler2D textureSample; uniform float texScale; void main() { vec2 mult=(2.0*v_texCoord - 1.0)/(2.0*texScale); gl_FragColor = texture2D(textureSample,mult); } 

Obj सी:

 GLshort texCoords[]={ 512,512, 0,512, 512,0, 0,0, }; GLfloat textureWidth = 512.0; //texture size, assumed square, power of 2 texCoordLoc = glGetAttribLocation ( program, "a_texCoord"); GLuint textureScale = glGetUniformLocation ( program, "texScale"); glUniform1f(textureScale, textureWidth); glVertexAttribPointer ( texCoordLoc, 2, GL_SHORT, GL_FALSE, 0, texCoords); 

अगर कोई इस पर टिप्पणी करता है कि यह कार्यप्रदर्शन-वार कैसे काम कर सकता है, तो मुझे दिलचस्पी होगी