Screen saver работает не на всех компьютерах
От: Богин Илья Владимирович Россия  
Дата: 25.11.01 09:26
Оценка:
Был сделан screen saver использующий OpenGL и MFC, у меня release версия работает замечательно, у моих друзей — черный экран. Необходимые библиотеки у них есть
(opengl32.dll, mfc42.dll). Есть идеи почему возникает проблема?
Re: Screen saver работает не на всех компьютерах
От: adontz Грузия http://adontz.wordpress.com/
Дата: 25.11.01 19:49
Оценка: 3 (1)
Здравствуйте Богин Илья Владимирович, Вы писали:

БИВ>Был сделан screen saver использующий OpenGL и MFC, у меня release версия работает замечательно, у моих друзей — черный экран. Необходимые библиотеки у них есть

БИВ>(opengl32.dll, mfc42.dll). Есть идеи почему возникает проблема?

Скорее всего проблема чисто графическая. Сравни видеоадаптер, разрешение, глубину цвета у себя и у нех.
Кстати OpenGL32 и MFC42.dll бывают РАЗНЫХ версий
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Screen saver работает не на всех компьютерах
От: Lafkadio Россия  
Дата: 25.11.01 21:50
Оценка:
Здравствуйте adontz, Вы писали:

A>Здравствуйте Богин Илья Владимирович, Вы писали:


БИВ>>Был сделан screen saver использующий OpenGL и MFC, у меня release версия работает замечательно, у моих друзей — черный экран. Необходимые библиотеки у них есть

БИВ>>(opengl32.dll, mfc42.dll). Есть идеи почему возникает проблема?

A>Скорее всего проблема чисто графическая. Сравни видеоадаптер, разрешение, глубину цвета у себя и у нех.

A>Кстати OpenGL32 и MFC42.dll бывают РАЗНЫХ версий

Да действительно, спасибо! Я поменял у себя на компьютере цветность с 16 бит на 32 бита,
и получил точно описанную друзьями картину.
Re[2]: Screen saver работает не на всех компьютерах
От: Lafkadio Россия  
Дата: 25.11.01 23:05
Оценка:
Корректирую вопрос "Что может вызвать неработоспосбность на 32-битном цвете, если при 16-цветном все было в порядке?"
Re[3]: Screen saver работает не на всех компьютерах
От: adontz Грузия http://adontz.wordpress.com/
Дата: 25.11.01 23:24
Оценка:
Здравствуйте Lafkadio, Вы писали:

L>Корректирую вопрос "Что может вызвать неработоспосбность на 32-битном цвете, если при 16-цветном все было в порядке?"

Скинсейвер 3D или 2D ?
В любом случае проверь вездели рисуемая глубина цвета соответствует экранной.
проверь формат видео буфферов.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[4]: Screen saver работает не на всех компьютерах
От: Lafkadio Россия  
Дата: 26.11.01 08:06
Оценка:
Здравствуйте adontz, Вы писали:

A>Скинсейвер 3D или 2D ?

A>В любом случае проверь вездели рисуемая глубина цвета соответствует экранной.
A>проверь формат видео буфферов.
Не успел я обрадоваться, что ошибка локализована, как оказалось, что у кого-то он не работает и на 16-битном цвете. Ну ладно, если я смогу заставить работать его у себя
в 32-битном цвете это уже будет шаг вперед.
Screensaver — 3D, правда совсем простой, кубы(auxSolidCube) и 3d-шрифты(GLFontType).
Цвет я вроде-бы вручную использую только в виде GLColor3D()
PIXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW|
PFD_SUPPORT_OPENGL|
PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA,
24, //здесь я ставил разные цифры, результат один
0,0,0,0,0,0,
0,0,0,0,0,0,0,
32,
0,0,
PFD_MAIN_PLANE,
0,
0,0,0
};
Re[5]: Screen saver работает не на всех компьютерах
От: adontz Грузия http://adontz.wordpress.com/
Дата: 26.11.01 20:50
Оценка:
Здравствуйте Lafkadio, Вы писали:

L>Здравствуйте adontz, Вы писали:


typedef struct tagPIXELFORMATDESCRIPTOR 
 {
  WORD  nSize;             // sizeof(PIXELFORMATDESCRIPTOR)  
  WORD  nVersion;          // 1
  DWORD dwFlags;           // PFD_DRAW_TO_WINDOW|FD_SUPPORT_OPENGL|PFD_DOUBLEBUFFER
  BYTE  iPixelType;        // PFD_TYPE_RGBA
  BYTE  cColorBits;        // 24
  BYTE  cRedBits;          // 0
  BYTE  cRedShift;         // 0
  BYTE  cGreenBits;        // 0
  BYTE  cGreenShift;       // 0
  BYTE  cBlueBits;         // 0
  BYTE  cBlueShift;        // 0
  BYTE  cAlphaBits;        // 0
  BYTE  cAlphaShift;       // 0
  BYTE  cAccumBits;        // 0
  BYTE  cAccumRedBits;     // 0
  BYTE  cAccumGreenBits;   // 0
  BYTE  cAccumBlueBits;    // 0
  BYTE  cAccumAlphaBits;   // 0
  BYTE  cDepthBits;        // 32 some videocards uses ONLY the same depth of the pixel and depth buffer replase with 16  
  BYTE  cStencilBits;      // 0
  BYTE  cAuxBuffers;       // 0
  BYTE  iLayerType;        // PFD_MAIN_PLANE Ignored. Earlier implementations of OpenGL used this member, but it is no longer used.
  BYTE  bReserved;         // 0
  DWORD dwLayerMask;       // 0
  DWORD dwVisibleMask;     // 0
  DWORD dwDamageMask;      // 0
} PIXELFORMATDESCRIPTOR; 

Откуда такая уверенность что всегда поддерживается 32-х битный z-буфер ?
НЕ ВСЕГДА!!!
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[6]: Screen saver работает не на всех компьютерах
От: Lafkadio Россия  
Дата: 26.11.01 21:55
Оценка:
Здравствуйте adontz, Вы писали:


A>Откуда такая уверенность что всегда поддерживается 32-х битный z-буфер ?

A>НЕ ВСЕГДА!!!
A>[/c]

Согласен, я изменил его на 16 битный, но у меня на компьютере он все равно не идет в 32-цветном режиме, правда,если в PIXELFORMATDESCRIPTORS.dwFlags заменить PFD_DOUBLEBUFFER
на PFD_SUPPORT_GDI он работает как в 16-цветном, так и в 32-цветном, но в обоих режимах с крайне неприятным миганием.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.