जब दोनों बनावट एक ही आयताकार को कवर करते हैं तो मैं टुकड़े टुकड़े में विभिन्न मिश्रण मोड के साथ दो बनावट मिश्रण कर सकता हूं। लेकिन अब मेरी समस्या यह है कि एक बनावट एक सादा आयताकार है जिसमें कोई घूर्णन नहीं होता है और दूसरा बनावट घूर्णन/स्केल और अनुवाद के साथ एक और आयताकार होता है। मैं इन बनावट को जिस तरीके से चाहता हूं उसे कैसे विलय करूं? में बनावट सम्मिश्रण के लिए (तस्वीर में)मैं आईफोन पर ओपनजीएल ईएस 2.0 में विभिन्न समन्वय के साथ दो बनावट कैसे मिश्रित करूं?
मैं जानता हूँ कि यह कैसे करना है ...
लेकिन ऐसा करने के तरीके के लिए सुनिश्चित ...
एक आयताकार (पहली छवि), मैंने निम्नलिखित कोड का उपयोग किया ..
उद्देश्य सी कोड ...
- (void) display {
[EAGLContext setCurrentContext:context];
glBindFramebuffer(GL_FRAMEBUFFER, targetFBO);
glUseProgram(program);
glActiveTexture(GL_TEXTURE2);
glBindTexture(GL_TEXTURE_2D, textureTop);
glActiveTexture(GL_TEXTURE3);
glBindTexture(GL_TEXTURE_2D, textureBot);
glUniform1i(inputTextureTop, 2);
glUniform1i(inputTextureBot, 3);
glUniform1f(alphaTop, alpha);
glEnable (GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glVertexAttribPointer(position, 2, GL_FLOAT, 0, 0, imageVertices);
glVertexAttribPointer(inputTextureCoordinate, 2, GL_FLOAT, 0, 0, textureCoordinates);
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
glBindRenderbuffer(GL_RENDERBUFFER, viewRenderbuffer);
[context presentRenderbuffer:GL_RENDERBUFFER];
}
वर्टेक्स शेडर ...
attribute vec4 position;
attribute vec4 inputTextureCoordinate;
varying vec2 textureCoordinate;
void main()
{
gl_Position = position;
textureCoordinate = inputTextureCoordinate.xy;
}
टुकड़ा शेडर ...
varying highp vec2 textureCoordinate;
uniform sampler2D inputTextureTop;
uniform sampler2D inputTextureBot;
uniform highp float alphaTop;
void main()
{
lowp vec4 pixelTop = texture2D(inputTextureTop, textureCoordinate);
lowp vec4 pixelBot = texture2D(inputTextureBot, textureCoordinate);
gl_FragColor = someBlendOperation(pixelTop, pixelBot);
}
हो सकता है कि मैं शीर्ष पिक्सेल के XY प्राप्त करने के लिए खंड शेडर में कुछ ज्यामितीय ऑपरेशन कर सकता हूं। – abix
हाय मुझे एक ही समस्या है, @ मैक्स समाधान पृष्ठभूमि छवि की तुलना में एक अलग आकार और घूर्णन पर शीर्ष छवि को आकर्षित करने की आवश्यकता से निपटने के लिए सीम नहीं करता है, आप इसे कैसे प्रबंधित करते हैं? – Eyal