एंड्रॉइड के लिए ओपनगल-एस में स्टैंसिल बफर के साथ, मैं बस स्क्रीन के ड्राइंग भाग को मुखौटा करने की कोशिश कर रहा हूं। मुझे लगता है कि मैंने इसे सही स्थापित किया है, लेकिन यह गैर-स्टेनलेस भागों को मुखौटा नहीं कर रहा है। मैं जो कर रहा हूं उसके लिए कोड का एक निष्कर्षण नीचे है।ओपनजीएल-ईएस स्टैंसिल बफर वर्किंग
gl.glEnable(GL10.GL_STENCIL_TEST);
gl.glClearStencil(0);
gl.glClear(GL10.GL_STENCIL_BUFFER_BIT);
gl.glColorMask(false, false, false, false);
gl.glDepthMask(false);
gl.glStencilFunc(GL10.GL_ALWAYS, 1, 1);
gl.glStencilOp(GL10.GL_REPLACE, GL10.GL_REPLACE, GL10.GL_REPLACE);
drawMask(); //I have confirmed this draws to the correct location by allowing colour to show. Trust that this draws the mask to the correct location.
gl.glColorMask(true, true, true, true);
gl.glDepthMask(true);
gl.glStencilFunc(GL10.GL_EQUAL, 1, 1);
gl.glStencilOp(GL10.GL_KEEP, GL10.GL_KEEP, GL10.GL_KEEP);
drawItems(); //Draw everything. Only items inside the masked area should be drawn. But everything is drawn with this code...
gl.glDisable(GL10.GL_STENCIL_TEST);
कोई भी इस के साथ कुछ गलत खोजता है? मूल रूप से यह कहने के लिए एक बॉक्स खींचता है, आधे स्क्रीन (यह काम करता है अगर मेरे पास रंग सक्षम था) जो उस क्षेत्र के लिए स्टैंसिल बफर को 1 पर सेट कर रहा है। और अंत में मैं पूरी स्क्रीन पर आकर्षित करता हूं। मैं इसे केवल शीर्ष छमाही में आकर्षित करना चाहता हूं, लेकिन यह सब कुछ खींचता है।
अग्रिम धन्यवाद।
अपने संदर्भ विन्यास [किसी भी स्टेंसिल बफर बिट्स है] क्या (http://www.mail-archive.com/[email protected]/msg21180.html)? – genpfault
यह नहीं करता है। धन्यवाद, मैंने सोचा कि यह एक आवश्यक opengl सुविधा थी। ऐसा लगता है कि यह नहीं है। – Moncader