के साथ ओपनजीएल के लिए बनावट बना रहा है मैंने ओपनजीएल के लिए बनावट लोड करने के लिए कई कोड नमूने देखे हैं, उनमें से कई बहुत सारे कोड के साथ नए कार्यों को समझने या आवश्यक करने के लिए थोड़ा जटिल हैं।OpenCV
मैं सोच रहा था कि OpenCV के रूप में हमें किसी भी छवि प्रारूप लोड करने के लिए यह ओपन को बनावट लोड करने के लिए एक सरल एक कारगर तरीका हो सकता है की अनुमति देता है, लेकिन मैं कुछ याद आ रही है। मैं C++ में कोड के इस टुकड़े है:
cv::Mat texture_cv;
GLuint texture[1];
int Status=FALSE;
if(texture_cv = imread("stones.jpg")) {
Status=TRUE; // Set The Status To TRUE
glGenTextures(1, &texture[0]); // Create The Texture
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S , GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexImage2D(GL_TEXTURE_2D, 0, 3, texture_cv.cols, texture_cv.rows, 0, GL_RGB, GL_UNSIGNED_BYTE, texture_cv.data);
}
और यह इस त्रुटि के कारण संकलन नहीं है:
error C2451: conditional expression of type 'cv::Mat' is illegal
कोई सुझाव? सीवी :: मैट से ओपनजीएल बनावट में रूपांतरण कैसे करना चाहिए?
के बजाय मुझे लगता है कि लोड हो रहा है बनावट के लिए OpenCV का उपयोग कर overkill है। पुस्तकालय देविल है जिसे इसके लिए स्पष्ट रूप से डिजाइन किया गया है। – datenwolf
मैं अपने प्रोजेक्ट में ओपनसीवी का उपयोग कर रहा हूं और मैं लगातार ओपनजी से ओपनसीवी डेटा में बदल रहा हूं, यही कारण है कि मुझे पुस्तकालयों को कम करने का विचार मिला। देविल के लिए वैसे भी धन्यवाद, मैं इसे देख लूंगा। –
फ्री इमेज डेविल के लिए एक और (हालिया) विकल्प भी है =) – MiJyn