मैं अपने गेम में पिक्सेल से रंग प्राप्त करना चाहता हूं और इस रंग को चर में सहेजना चाहता हूं। ओपनजीएल में इसे कैसे करें?पिक्सेल से रंग कैसे प्राप्त करें? ओपनजीएल
5
A
उत्तर
9
#include <GL/glut.h>
#include <iostream>
using namespace std;
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-10, 10, -10, 10, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glPushMatrix();
glScalef(5,5,5);
glBegin(GL_TRIANGLES);
glColor3ub(255,0,0);
glVertex2f(-1,-1);
glColor3ub(0,255,0);
glVertex2f(1,-1);
glColor3ub(0,0,255);
glVertex2f(1,1);
glEnd();
glPopMatrix();
glutSwapBuffers();
}
void motion(int x, int y)
{
y = glutGet(GLUT_WINDOW_HEIGHT) - y;
unsigned char pixel[4];
glReadPixels(x, y, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, pixel);
cout << "R: " << (int)pixel[0] << endl;
cout << "G: " << (int)pixel[1] << endl;
cout << "B: " << (int)pixel[2] << endl;
cout << endl;
}
int main(int argc, char **argv)
{
glutInitWindowSize(640,480);
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
glutCreateWindow("glReadPixels()");
glutDisplayFunc(display);
glutPassiveMotionFunc(motion);
glutMainLoop();
return 0;
}
5
struct{ GLubyte red, green, blue; } pixel;
glReadPixels(x, y, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &pixel);
1
#include <math.h>
#include <gl/glut.h>
struct Point {
GLint x;
GLint y;
};
struct Color {
GLfloat r;
GLfloat g;
GLfloat b;
};
void init() {
glClearColor(1.0, 1.0, 1.0, 0.0);
glColor3f(0.0, 0.0, 0.0);
glPointSize(1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, 640, 0, 480);
}
//this function is used for getting color of pixel
Color getPixelColor(GLint x, GLint y) {
Color color;
glReadPixels(x, y, 1, 1, GL_RGB, GL_FLOAT, &color);
return color;
}
void setPixelColor(GLint x, GLint y, Color color) {
glColor3f(color.r, color.g, color.b);
glBegin(GL_POINTS);
glVertex2i(x, y);
glEnd();
glFlush();
}
void floodFill(GLint x, GLint y, Color oldColor, Color newColor) {
Color color;
color = getPixelColor(x, y);
if(color.r == oldColor.r && color.g == oldColor.g && color.b == oldColor.b)
{
setPixelColor(x, y, newColor);
floodFill(x+1, y, oldColor, newColor);
floodFill(x, y+1, oldColor, newColor);
floodFill(x-1, y, oldColor, newColor);
floodFill(x, y-1, oldColor, newColor);
}
return;
}
void onMouseClick(int button, int state, int x, int y)
{
Color newColor = {1.0f, 0.0f, 0.0f};
Color oldColor = {1.0f, 1.0f, 1.0f};
floodFill(320, 240, oldColor, newColor);
}
void draw_circle(Point pC, GLfloat radius) {
GLfloat step = 1/radius;
GLfloat x, y;
for(GLfloat theta = 0; theta <= 360; theta += step) {
x = pC.x + (radius * cos(theta));
y = pC.y + (radius * sin(theta));
glVertex2i(x, y);
}
}
void display(void) {
Point pt = {320, 240};
GLfloat radius = 50;
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
draw_circle(pt, radius);
glEnd();
glFlush();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(640, 480);
glutInitWindowPosition(200, 200);
glutCreateWindow("Open GL");
init();
glutDisplayFunc(display);
glutMouseFunc(onMouseClick);
glutMainLoop();
return 0;
}
संबंधित मुद्दे
- 1. rmagick पिक्सेल रंग मान
- 2. पिक्सेल रंग बदलना पायथन
- 3. किसी छवि से पिक्सेल का x, y समन्वय रंग कैसे प्राप्त करें?
- 4. ओपनजीएल ईएस: रंग
- 5. हेक्साडेसिमल रंग स्ट्रिंग से रंग कैसे प्राप्त करें
- 6. बिटमैप के भीतर पिक्सेल रंग का उपयोग कैसे करें?
- 7. एक टुकड़े टुकड़े के अंदर पिक्सेल जानकारी कैसे प्राप्त करें?
- 8. हास्केल ओपनजीएल में रसदार पिक्सेल बनावट लोडिंग?
- 9. आईफोन ओपनजीएल ईएस 2.0 - पिक्सेल परफेक्ट टेक्सचर
- 10. ओपनजीएल glColorPointer रंग दोहराना?
- 11. ओपनजीएल/पीबीओ पिक्सेल ड्राइंग उदाहरण की आवश्यकता
- 12. ओपनजीएल में उप-पिक्सेल प्रतिपादन - सटीकता समस्या
- 13. एचटीएमएल कैनवास से पिक्सेल?
- 14. आईफोन उद्देश्य सी: UIImageView पर स्पर्श बिंदु के पिक्सेल का रंग कैसे प्राप्त करें?
- 15. WPF छवि, पिक्सेल के रंग बदलना
- 16. प्रोग्रामेटिक रूप से थीम रंग प्राप्त करें
- 17. छवि रंग प्राप्त करें
- 18. पिक्सेल में ड्राइंग पिक्सेल (पायथन)
- 19. ओपनजीएल
- 20. PHPExcel: सेल रंग कैसे प्राप्त करें
- 21. पिक्सेल में स्ट्रिंग की चौड़ाई कैसे प्राप्त करें?
- 22. ओपनजीएल में पिक्सेल तक पहुंचने का सबसे अच्छा तरीका?
- 23. जावास्क्रिप्ट का उपयोग कर बेस 64 पीएनजी का पिक्सेल रंग प्राप्त करें?
- 24. एक त्वरित तरीके से WinAPI के साथ छवि पिक्सेल-बाय-पिक्सेल को कैसे संसाधित करें?
- 25. jQuery तत्वों रंग प्राप्त करें?
- 26. एक्सएनए में 2 डी पिक्सेल-बाय-पिक्सेल कैसे आकर्षित करें?
- 27. पायगाम: एकल पिक्सेल ड्रा करें
- 28. ओपनजीएल
- 29. मैं किसी वेब पेज पर किसी निर्दिष्ट पिक्सेल का रंग कैसे प्राप्त कर सकता हूं?
- 30. रंग पारदर्शिता अनुकरण करें
सुंदर कोड, लघु और अपेक्षा के अनुरूप काम करता है। आपने प्रदर्शन प्रक्रिया के अंदर पिक्सेल के रंग की जांच/प्रदर्शित करने के लिए कोड रखा है। यह तेजी से काम करता है, लेकिन जब चित्र अधिक जटिल होता है तो प्रोग्राम ठीक से काम नहीं कर रहा है। क्या गति प्रक्रिया के अंदर कोड ऊपर डाल, जैसे [यहां] के बारे में (http://en.wikibooks.org/wiki/Fractals/Computer_graphic_techniques/2D/gfile#Viewer_for_programmers) – Adam
@Adam: हाँ, संपादित। – genpfault