.
Отговор в тема
Резултати от 1 до 25 от общо 62

Тема: papugai

Hybrid View

  1. #1
    Супер фен Аватара на MrCreeper
    Регистриран на
    May 2011
    Мнения
    2 121
    Неее, тези точки в никакъв случай не са колко кадъра е възпроизвела машината ти за период от 1 минута.

    ОpenGl е приложен програмен интерфейс.
    Ако не знаеш какво значи това GL сега ще ти кажа, Open Graphics Library.

    Код:
    #include
    #include
    LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM);
    void EnableOpenGL(HWND hwnd, HDC*, HGLRC*);
    void DisableOpenGL(HWND, HDC, HGLRC);
    int WINAPI WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow)
    {
    WNDCLASSEX wcex;
    HWND hwnd;
    HDC hDC;
    HGLRC hRC;
    MSG msg;
    BOOL bQuit = FALSE;
    BOOL bMin = FALSE;
    float theta = 0.0f;
    wcex.cbSize = sizeof(WNDCLASSEX);
    wcex.style = CS_OWNDC;
    wcex.lpfnWndProc = WindowProc;
    wcex.cbClsExtra = 0;
    wcex.cbWndExtra = 0;
    wcex.hInstance = hInstance;
    wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
    wcex.lpszMenuName = NULL;
    wcex.lpszClassName = "GLSample";
    wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);;
    if (!RegisterClassEx(&wcex))
    return 0;
    hwnd = CreateWindowEx(1,
    "GLSample",
    "CUBE by XxbTWxX ",
    WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    768,
    768,
    NULL ,
    NULL,
    hInstance,
    2);
    ShowWindow(hwnd, nCmdShow);
    EnableOpenGL(hwnd, &hDC, &hRC);
    while (!bQuit)
    {
    if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
    {
    if (msg.message == WM_QUIT)
    {
    bQuit =TRUE;
    }
    else
    {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }
    }
    else
    {
    glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
    glClear(GL_COLOR_BUFFER_BIT);
    glPushMatrix();
    glRotatef(theta, 1, 1, 1);
    glBegin(GL_QUAD_STRIP);
    glColor3f(0.0f, 1.0f, 0.0f); glVertex3d(0.5f, 0.5f, 0.5f);
    glColor3f(0.0f, 1.0f, 0.0f); glVertex3d(-0.5f, 0.5f, 0.5f);
    glColor3f(0.0f, 1.0f, 0.0f); glVertex3d(0.5f, -0.5f, 0.5f);
    glColor3f(0.0f, 1.0f, 0.0f); glVertex3d(-0.5f, -0.5f, 0.5f);
    glColor3f(0.0f, 1.0f, 1.0f); glVertex3d(0.5f, -0.5f, -0.5f);
    glColor3f(0.0f, 1.0f, 1.0f); glVertex3d(-0.5f, -0.5f, -0.5f);
    glColor3f(0.0f, 0.0f, 1.0f); glVertex3d(0.5f, 0.5f, -0.5f);
    glColor3f(0.0f, 0.0f, 1.0f); glVertex3d(-0.5f, 0.5f, -0.5f);
    glColor3f(1.0f, 1.0f, 0.0f); glVertex3d(-0.5f, 0.5f, -0.5f);
    glColor3f(1.0f, 1.0f, 0.0f); glVertex3d(0.5f, 0.5f, -0.5f);
    glColor3f(1.0f, 0.0f, 0.0f); glVertex3d(0.5f, 0.5f, -0.5f);
    glColor3f(1.0f, 0.0f, 0.0f); glVertex3d(0.5f, 0.5f, 0.5f);
    glColor3f(0.0f, 0.0f, 1.0f); glVertex3d(0.5f, 0.5f, 0.5f);
    glColor3f(0.0f, 0.0f, 1.0f); glVertex3d(0.5f, -0.5f, 0.5f);
    glColor3f(0.0f, 1.0f, 0.5f); glVertex3d(0.5f, 0.5f, -0.5f);
    glColor3f(0.0f, 1.0f, 0.5f); glVertex3d(0.5f, -0.5f, -0.5f);
    glColor3f(0.0f, 1.0f, 0.0f); glVertex3d(-0.5f, 0.5f, -0.5f);
    glColor3f(0.0f, 1.0f, 0.0f); glVertex3d(-0.5f, -0.5f, -0.5f);
    glColor3f(1.0f, 1.0f, 0.0f); glVertex3d(-0.5f, 0.5f, 0.5f);
    glColor3f(1.0f, 1.0f, 0.0f); glVertex3d(-0.5f, -0.5f, 0.5f);
    glColor3f(1.0f, 0.0f, 1.0f); glVertex3d(-0.5f, -0.5f, 0.5f);
    glColor3f(1.0f, 0.0f, 1.0f); glVertex3d(-0.5f, -0.5f, -0.5f);
    glColor3f(1.0f, 0.0f, 0.0f); glVertex3d(0.5f, -0.5f, 0.5f);
    glColor3f(1.0f, 0.0f, 0.0f); glVertex3d(0.5f, -0.5f, -0.5f) ;
    glEnd();
    glPopMatrix();
    SwapBuffers(hDC);
    theta +=-1.0f;
    Sleep (7.5f);
    }
    }
    DisableOpenGL(hwnd, hDC, hRC);
    DestroyWindow(hwnd);
    return msg.wParam;
    }
    LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
    switch (uMsg)
    {
    case WM_CLOSE:
    PostQuitMessage(0);
    break;
    case WM_DESTROY:
    return 0;
    case WM_KEYDOWN:
    {
    switch (wParam)
    {
    case VK_ESCAPE:
    PostQuitMessage(0);
    break;
    }
    }
    break;
    default:
    return DefWindowProc(hwnd, uMsg, wParam, lParam);
    }
    return 0;
    }
    void EnableOpenGL(HWND hwnd, HDC* hDC, HGLRC* hRC)
    {
    PIXELFORMATDESCRIPTOR pfd;
    int iFormat;
    *hDC = GetDC(hwnd);
    ZeroMemory(&pfd, sizeof(pfd));
    pfd.nSize = sizeof(pfd);
    pfd.nVersion = 2;
    pfd.dwFlags = PFD_DRAW_TO_WINDOW |
    PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
    pfd.iPixelType = PFD_TYPE_RGBA;
    pfd.cColorBits = 32;
    pfd.cDepthBits = 32;
    pfd.iLayerType = PFD_MAIN_PLANE;
    iFormat = ChoosePixelFormat(*hDC, &pfd);
    SetPixelFormat(*hDC, iFormat, &pfd);
    *hRC = wglCreateContext(*hDC);
    wglMakeCurrent(*hDC, *hRC);
    }
    void DisableOpenGL (HWND hwnd, HDC hDC, HGLRC hRC)
    {
    wglMakeCurrent(NULL, NULL);
    wglDeleteContext(hRC);
    ReleaseDC(hwnd, hDC);
    }
    Ето ти малко OpenGL

    Колкото по-мощна е картата толкова по-добре "работи" OpenGL
    Don't hate the hacker,
    hate the code!

  2. #2
    Мега фен Аватара на anonymous908491
    Регистриран на
    Nov 2012
    Мнения
    13 898
    Цитирай Първоначално написано от MrCreeper Виж мнението
    Неее, тези точки в никакъв случай не са колко кадъра е възпроизвела машината ти за период от 1 минута.
    Колкото по-мощна е картата толкова по-добре "работи" OpenGL
    хахахаха
    Слабо ме вълнува колко кадъра произвежда, защото Не играя игри като останалите дебили.
    Не зависи от картата как работи OpenGL, а от драйвърите, а ти понеже си пълен идиот, не правиш разлика.
    Само заради малоумните геймърчета пуснаха OpenGl от 2.1 нагоре, защото нито една програма не го изисква, не помага за нищо и не върши нищо.

Правила за публикуване

  • Вие не можете да публикувате теми
  • Вие не можете да отговаряте в теми
  • Вие не можете да прикачвате файлове
  • Вие не можете да редактирате мненията си