دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

مشاهده این پیام به این معنی است که شما در سایت عضو نیستید، لطفا در صورت تمایل جهت عضویت در سایت علمی نخبگان جوان اینجا کلیک کنید.

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 5 , از مجموع 5

موضوع: مشکل در opengl "لطفا کمک کنید"

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #2
    همکار بخش اختراعات و نوآوری
    نوشته ها
    259
    ارسال تشکر
    2,318
    دریافت تشکر: 1,613
    قدرت امتیاز دهی
    18682
    Array

    پیش فرض پاسخ : مشکل در opengl "لطفا کمک کنید"

    نقل قول نوشته اصلی توسط karaj.designer نمایش پست ها
    سلام دوستان و اساتید
    من چند تا برنامه ی opengl گرفتم که وقتی اجراشون می کنم،به جای اینکه خروجی ظاهر شه.
    صفحه سفید می شه.
    مشکل از چیه؟
    مثلا همین برنامه ای که آقای ادمین گذاشتن توو سایت
    ستاره ای که با کیبورد جابه جا میشه
    این کدش:
    کد:
    #include"stdafx.h"#include<iostream>
    #include<glut.h>
    #include <math.h>
    
    
    
    
    // Define a constant for the value of PI
    #define GL_PI 3.1415f
    
    
    // Rotation amounts
    static GLfloat xRot = 0.0f;
    static GLfloat yRot = 0.0f;
    
    
    // Flags for effects
    #define MODE_SOLID 0
    #define MODE_LINE  1
    #define MODE_POINT 2
    
    
    int iMode = MODE_SOLID;
    GLboolean bEdgeFlag = TRUE;
    
    
    ///////////////////////////////////////////////////////////////////////////////
    // Reset flags as appropriate in response to menu selections
    void ProcessMenu(int value)
        {
        switch(value)
            {
            case 1:
                iMode = MODE_SOLID;
                break;
    
    
            case 2:
                iMode = MODE_LINE;
                break;
    
    
            case 3:
                iMode = MODE_POINT;
                break;
    
    
            case 4:
                bEdgeFlag = TRUE;
                break;
    
    
            case 5:
            default:
                bEdgeFlag = FALSE;
                break;
            }
    
    
        glutPostRedisplay();
        }
    
    
    
    
    // Called to draw scene
    void RenderScene(void)
        {
        // Clear the window
        glClear(GL_COLOR_BUFFER_BIT);
    
    
    
    
        // Draw back side as a polygon only, if flag is set
        if(iMode == MODE_LINE)
            glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);
    
    
        if(iMode == MODE_POINT)
            glPolygonMode(GL_FRONT_AND_BACK,GL_POINT);
    
    
        if(iMode == MODE_SOLID)
            glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
    
    
    
    
        // Save matrix state and do the rotation
        glPushMatrix();
        glRotatef(xRot, 1.0f, 0.0f, 0.0f);
        glRotatef(yRot, 0.0f, 1.0f, 0.0f);
    
    
    
    
        // Begin the triangles
        glBegin(GL_TRIANGLES);
    
    
            glEdgeFlag(bEdgeFlag);
            glVertex2f(-20.0f, 0.0f);
            glEdgeFlag(TRUE);
            glVertex2f(20.0f, 0.0f);
            glVertex2f(0.0f, 40.0f);
    
    
            glVertex2f(-20.0f,0.0f);
            glVertex2f(-60.0f,-20.0f);
            glEdgeFlag(bEdgeFlag);
            glVertex2f(-20.0f,-40.0f);
            glEdgeFlag(TRUE);
    
    
            glVertex2f(-20.0f,-40.0f);
            glVertex2f(0.0f, -80.0f);
            glEdgeFlag(bEdgeFlag);
            glVertex2f(20.0f, -40.0f);        
            glEdgeFlag(TRUE);
    
    
            glVertex2f(20.0f, -40.0f);        
            glVertex2f(60.0f, -20.0f);
            glEdgeFlag(bEdgeFlag);
            glVertex2f(20.0f, 0.0f);
            glEdgeFlag(TRUE);
    
    
            // Center square as two triangles
            glEdgeFlag(bEdgeFlag);
            glVertex2f(-20.0f, 0.0f);
            glVertex2f(-20.0f,-40.0f);
            glVertex2f(20.0f, 0.0f);
            
            glVertex2f(-20.0f,-40.0f);
            glVertex2f(20.0f, -40.0f);
            glVertex2f(20.0f, 0.0f);
            glEdgeFlag(TRUE);
        
        // Done drawing Triangles
        glEnd();
    
    
        // Restore transformations
        glPopMatrix();
    
    
        // Flush drawing commands
        glutSwapBuffers();
        }
    
    
    // This function does any needed initialization on the rendering
    // context. 
    void SetupRC()
        {
        // Black background
        glClearColor(0.0f, 0.0f, 0.0f, 1.0f );
    
    
        // Set drawing color to green
        glColor3f(0.0f, 1.0f, 0.0f);
        }
    
    
    void SpecialKeys(int key, int x, int y)
        {
        if(key == GLUT_KEY_UP)
            xRot-= 5.0f;
    
    
        if(key == GLUT_KEY_DOWN)
            xRot += 5.0f;
    
    
        if(key == GLUT_KEY_LEFT)
            yRot -= 5.0f;
    
    
        if(key == GLUT_KEY_RIGHT)
            yRot += 5.0f;
    
    
        if(key > 356.0f)
            xRot = 0.0f;
    
    
        if(key < -1.0f)
            xRot = 355.0f;
    
    
        if(key > 356.0f)
            yRot = 0.0f;
    
    
        if(key < -1.0f)
            yRot = 355.0f;
    
    
        // Refresh the Window
        glutPostRedisplay();
        }
    
    
    
    
    void ChangeSize(int w, int h)
        {
        GLfloat nRange = 100.0f;
    
    
        // Prevent a divide by zero
        if(h == 0)
            h = 1;
    
    
        // Set Viewport to window dimensions
        glViewport(0, 0, w, h);
    
    
        // Reset projection matrix stack
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
    
    
        // Establish clipping volume (left, right, bottom, top, near, far)
        if (w <= h) 
            glOrtho (-nRange, nRange, -nRange*h/w, nRange*h/w, -nRange, nRange);
        else 
            glOrtho (-nRange*w/h, nRange*w/h, -nRange, nRange, -nRange, nRange);
    
    
        // Reset Model view matrix stack
        glMatrixMode(GL_MODELVIEW);
        glLoadIdentity();
        }
    
    
    int main(int argc, char* argv[])
        {
        int nModeMenu;
        int nEdgeMenu;
        int nMainMenu;
    
    
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
        glutCreateWindow("Solid and Outlined Star");
        
        // Create the Menu
        nModeMenu = glutCreateMenu(ProcessMenu);
        glutAddMenuEntry("Solid",1);
        glutAddMenuEntry("Outline",2);
        glutAddMenuEntry("Points",3);
    
    
        nEdgeMenu = glutCreateMenu(ProcessMenu);
        glutAddMenuEntry("On",4);
        glutAddMenuEntry("Off",5);
    
    
        nMainMenu = glutCreateMenu(ProcessMenu);
        glutAddSubMenu("Mode", nModeMenu);
        glutAddSubMenu("Edges", nEdgeMenu);
        glutAttachMenu(GLUT_RIGHT_BUTTON);
        
        glutReshapeFunc(ChangeSize);
        glutSpecialFunc(SpecialKeys);
        glutDisplayFunc(RenderScene);
        SetupRC();
        glutMainLoop();
    
    
        return 0;
        }
    لطفا راهنمایی بفرمایید
    سلام
    احتمال داره مشکل سخت افزاری باشه
    شاید مشکل از راه انداز opengl کارت گرافیکتون باشه
    مدل گرافیکتون چیه؟
    I AM ADRENALINE

  2. کاربرانی که از پست مفید TERRORIST سپاس کرده اند.


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. مقایسه: مقایسه کامل بین "آی پد ایر" و "گلکسی نوت 10.1" + تصاویر
    توسط Almas Parsi در انجمن مقایسه
    پاسخ ها: 3
    آخرين نوشته: 20th November 2013, 04:14 PM
  2. پاسخ ها: 0
    آخرين نوشته: 19th November 2013, 10:10 AM
  3. آموزشی: "آموزش گرامر كلمات ربطي "كه"- "Relative Clauses"
    توسط Almas Parsi در انجمن Grammar
    پاسخ ها: 0
    آخرين نوشته: 2nd August 2013, 12:10 PM
  4. پاسخ ها: 0
    آخرين نوشته: 21st July 2010, 04:44 PM
  5. پاسخ ها: 0
    آخرين نوشته: 14th September 2008, 05:04 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •