forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   openGL загрузить изображение и улучшить качество (http://forum.boolean.name/showthread.php?t=15679)

impersonalis 25.10.2011 10:37

Ответ: openGL загрузить изображение и улучшить качество
 
Цитата:

Сообщение от HolyDel (Сообщение 206843)
#pragma comment(lib,"glaux.lib")

или средствами графического интерфейса IDE

KingMaks 25.10.2011 23:32

Ответ: openGL загрузить изображение и улучшить качество
 
Цитата:

Сообщение от HolyDel (Сообщение 206843)
#pragma comment(lib,"glaux.lib")

выбивает новую ошибку:
[Linker Fatal Error] Fatal: Unable to open file 'GLAUX.LIB'

Цитата:

Сообщение от impersonalis (Сообщение 206855)
или средствами графического интерфейса IDE

а подробнее?

impersonalis 25.10.2011 23:43

Ответ: openGL загрузить изображение и улучшить качество
 
Цитата:

Сообщение от KingMaks (Сообщение 206989)
выбивает новую ошибку:
[Linker Fatal Error] Fatal: Unable to open file 'GLAUX.LIB'

Файл GLAUX.LIB, разумеется, лежит в директории проекта?

KingMaks 25.10.2011 23:55

Ответ: openGL загрузить изображение и улучшить качество
 
Цитата:

Сообщение от impersonalis (Сообщение 206992)
Файл GLAUX.LIB, разумеется, лежит в директории проекта?

Положил и снова:

[Linker Error] 'C:\USERS\KINGMAKS\DESKTOP\INDIVID\GLAUX.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

impersonalis 26.10.2011 00:26

Ответ: openGL загрузить изображение и улучшить качество
 
COFF - это формат либ-файла от МС
а
OMF - от Интел.
Есть специальная утилита coff2omf.exe (хотя кто-то мне говорил, что есть три способа получения либ-файла нужного формата).

ЕМНИП один раз только сталкивался. Но НЕНАВИСТЬ АТОМИЧЕСКАЯ может быть вызвана подобным: dll собираешь на MSVC а прилепить её надо к builder.

апд: а можно заговнярить динамическую линковку.
апд2: "кто-то"=Hamaus

KingMaks 03.11.2011 02:51

Ответ: openGL загрузить изображение и улучшить качество
 
Код:

#include <windows.h>

#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>
#pragma comment(lib,"glaux.lib")


AUX_RGBImageRec* image;
AUX_RGBImageRec* image2;


void CALLBACK resize(int width,int height)
{
  glViewport(0,0,width,height);
  glMatrixMode( GL_PROJECTION );
  glLoadIdentity();
  glOrtho(-5,5, -5,5, 2,12);
  gluLookAt( 0,0,5, 0,0,0, 0,1,0 );
  glMatrixMode( GL_MODELVIEW );
}



void CALLBACK display(void)
{
 glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );


  glRasterPos2d(-4.5,0);//Позиция для рисования
  glDrawPixels(image->sizeX, image->sizeY,GL_RGB, GL_UNSIGNED_BYTE,image->data);//вывод изображения

  glReadPixels(image->sizeX,image->sizeY,384,216,GL_RED,GL_UNSIGNED_BYTE,image2->data);//прочитал пиксели изображения
  glAccum(GL_MULT, 10);//изменил пиксели в буфере, умножив на 10
  glRasterPos2d(-4.5,-4.5);//Позиция для рисования
  glDrawPixels(image->sizeX, image->sizeY,GL_RGB, GL_UNSIGNED_BYTE,image2->data);//вывел изображение

 

auxSwapBuffers();
}



void main()
{
        float pos[4] = {3,3,3,1};
        float dir[3] = {-1,-1,-1};

        image = auxDIBImageLoad("image.bmp");
        image2 = auxDIBImageLoad("image.bmp");

   
    glEnable(GL_ALPHA_TEST);
    glEnable(GL_BLEND);
    glEnable(GL_DEPTH_TEST);
    glEnable(GL_COLOR_MATERIAL);
    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

    glLightfv(GL_LIGHT0, GL_POSITION, pos);
    glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, dir);


       

    auxInitPosition( 50, 10, 430, 500);
    auxInitDisplayMode( AUX_RGB | AUX_DEPTH | AUX_DOUBLE );
    auxInitWindow( "Photo" );
    auxIdleFunc(display);
    auxReshapeFunc(resize);
        auxMainLoop(display);
}

нужно чтобы выводилось изображение в нормальном его виде
и в измененном, а изменить надо изображение где то в буферах.
Только у меня выводит такое же самое изображение, чего нахватает?


Часовой пояс GMT +4, время: 00:43.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot