|
21.04.2010, 23:01
|
#16
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: blitz3D + OpenGL
А если не нравится ООП, то тут благодаря синтаксису блица не умрешь. блиц позволяет сделать через жопу все что угодно (дык можно и без методов обойтись)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.04.2010, 00:20
|
#17
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: blitz3D + OpenGL
В бмаксе для олдфагов есть модуль brl.retro который позволяет кодить как в блитз3д.
__________________
|
(Offline)
|
|
22.04.2010, 07:35
|
#18
|
Оператор ЭВМ
Регистрация: 26.11.2007
Сообщений: 39
Написано 9 полезных сообщений (для 12 пользователей)
|
Re: blitz3D + OpenGL
Blitz3D мне нравится, я давно с ним работаю. в том числе я на нём делаю для себя всякие конвертелки под спектрум, гляделки и прочее. но тут задумался над чем то более крупным чем прочсто конвертилка спрайтов. дх7 я уже пробовал..как то не вдохновился. а на огл всё таки, работа на более низком уровне. да и кстати да, интересно заюзать блиц + огл. я знаю что у блица тормозная арифметика, ничего страшного, некоторые пишут на си++ и прочих языках, а результат ещё тормознее, чем блиц. ооп я не люблю, а на максе, какой бы не использовал мод, ооп он и есть ооп. по поводу что не везде работает - на данный момент пока не нашол решение проблемы с фуллскрином, в окне работает на всех машинах! например, результаты таких каманд как glGetString, возвращают текущие параметры, например вендора, версия и рендер... пробовал по одной из док сделать определение возвожности заюзать glsl, отработал без труда, все функции вернули положительный результат. нвидиа цг так же определяет вероятность использования шейдеров. но шейдеры сейчас не самое важное, важно заставить пахать на весь экран. продолжаю курить, вроде выход есть, сёдня набросаю процедурку на си, посмотрим что будет...
|
(Offline)
|
|
22.04.2010, 13:28
|
#19
|
Оператор ЭВМ
Регистрация: 26.11.2007
Сообщений: 39
Написано 9 полезных сообщений (для 12 пользователей)
|
Re: blitz3D + OpenGL
Собственно говоря решение проблемы частично нашол. результат прикрепляю (пример работы с CG, там самый простейший шейдер).
|
(Offline)
|
|
22.04.2010, 14:05
|
#20
|
Элита
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений (для 2,828 пользователей)
|
Ответ: blitz3D + OpenGL
Скачал, запустил. Сразу выдало MAV. Не найдена библиотека. До вылетания ошибки приложение запускается не на весь экран и в формате 16:9 с разрешением 1280х720. Библиотеки подсунуть к приложению перепробовал все нашедшиеся в моей коллекции (OpenGL32.dll, OpenGL.dll, glut32.dll и его же переименовав в OpenGL.dll). Всё равно Userlib not found.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.
Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2
Скачать Doom 2D: Remake v0.3.8a
|
(Offline)
|
|
22.04.2010, 15:39
|
#21
|
Оператор ЭВМ
Регистрация: 26.11.2007
Сообщений: 39
Написано 9 полезных сообщений (для 12 пользователей)
|
Re: blitz3D + OpenGL
хххммм...и действительно, всё упёрлось во врапер оной единственной функции wrapChangeDisplaySettings, которую набросал на си. при обращении к функции, не находит файл..странно, но файл есть. проверял на нескольких компах в канторе. странное дело....
код врапа:
#include"string.h"
#include"stdlib.h"
#include"stdio.h"
#include"windows.h"
#include"gl/gl.h"
//#pragmacomment (lib,"opengl32.lib")
#define BBDECL extern"C"_declspec(dllexport)
#define BBCALL _stdcall
BBDECL int BBCALL wrapChangeDisplaySettings(int flags, int width, int height, char bpp, int mode, char freq)
{
int err;
DEVMODE dmScreenSettings;
memset(&dmScreenSettings, 0, sizeof(DEVMODE));
dmScreenSettings.dmSize = sizeof(DEVMODE);
dmScreenSettings.dmBitsPerPel = bpp;
dmScreenSettings.dmPelsWidth = width;
dmScreenSettings.dmPelsHeight = height;
dmScreenSettings.dmFields = flags;
dmScreenSettings.dmDisplayFrequency = freq;
err=ChangeDisplaySettings(&dmScreenSettings, mode);
return err;
}
функцию вызываю обычным способом:
wrapChangeDisplaySettings(DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL Or DM_DISPLAYFREQUENCY, GlWinW,GlWinH,32,CFD_FULLSCREEN, 0)
может чтото не так ещё делаю? хм...
|
(Offline)
|
|
22.04.2010, 16:24
|
#22
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: blitz3D + OpenGL
Да твоя поделка такая же кривущая, как и ксорс. Одно гавно вокруг (
__________________
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
|
|
22.04.2010, 16:34
|
#23
|
Оператор ЭВМ
Регистрация: 26.11.2007
Сообщений: 39
Написано 9 полезных сообщений (для 12 пользователей)
|
Re: blitz3D + OpenGL
Squid, OpenGL не моя поделка если что)))
с другой стороны - умееш лучше - покажи класс!
|
(Offline)
|
|
22.04.2010, 17:41
|
#24
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: blitz3D + OpenGL
Я тоже кривущей херней занимаюсь.
__________________
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
|
|
22.04.2010, 17:53
|
#25
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,023
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: blitz3D + OpenGL
"User lib not found" выдаёт. Может ему нужен .decls?
|
(Offline)
|
|
23.04.2010, 14:48
|
#26
|
Оператор ЭВМ
Регистрация: 26.11.2007
Сообщений: 39
Написано 9 полезных сообщений (для 12 пользователей)
|
Re: blitz3D + OpenGL
ошибку выдаёт, потому что я забыл в архив положить две либы ещё - CG.DLL и CGGL.DLL
однако проблема теперь не изза этого. проверил на нескольких компах в канторе, всёровно не видит, не желает находить библиотеку wrap.dll. почему не могу понять. на моём компе и дома всё чётко. пробую избавица от враперов путём исплользования апи винды. нахрапом взять не получается. вся проблема в том. что посути надо делать там свой обработчик, функция типа WndProc долждна быть, её адрес передовать в класс окна. по этому адресу потом винда делает вызов нашего обработчика. вот тут и проблема - блиц не желает передовать в чистом виде адреса функций. был вариант использовать FastPointer, однако там тоже такая же проблема - передача адреса функции блица в Апи винды вызывает вечный цикл при выходе, переполнение стэка и как следствие - MAV...
ищу пути решения.
|
(Offline)
|
|
23.04.2010, 17:18
|
#27
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,023
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: blitz3D + OpenGL
Так может для wrap.dll нужен wrap.decls? Да и для остальных либ. Ты ж с блицем работаешь...
|
(Offline)
|
|
23.04.2010, 17:21
|
#28
|
Оператор ЭВМ
Регистрация: 26.11.2007
Сообщений: 39
Написано 9 полезных сообщений (для 12 пользователей)
|
Re: blitz3D + OpenGL
файл деклс требуется только на момент разработки. после компиляции его можно выкинуть! т.е. он не требуется бинарнику.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Sayman за это полезное сообщение:
|
|
23.04.2010, 17:39
|
#29
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,023
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: blitz3D + OpenGL
Честно говоря не знал... Хм, а ведь мог бы догадаться...
|
(Offline)
|
|
27.04.2010, 08:31
|
#30
|
Оператор ЭВМ
Регистрация: 26.11.2007
Сообщений: 39
Написано 9 полезных сообщений (для 12 пользователей)
|
Re: blitz3D + OpenGL
ну и что? у каво есть какие соображения по теме фуллскрина? сейчас проблема вот в чём:
включается фуллскрин, но к сожалению любое аськоно окошко или какое-нить оповещение или другое всплывающее окно, сразу становица поверх нашего окна, т.е. чужое окно временно видно на нашем. это не гут. в АПИ венды ест ь такая штука, WM_KILLFOCUS, в обработчике окна. но тут тоже проблема. на блице его написать можно, но передать в апи венды нереально. на си написать тоже смутно, т.к. хз в чм дело, дома работает, а на работе нет, да и перехватывает этот сишный обработчик все события. т.е. если мы пишем на блице условие типа if keydown(key) то оно уже не будет отработано в этом случае. думаю вот, может можно как то сделать средставми блица "потерю" и возврат фокуса окна? т.е. тут надо отработать такие манипуляции как кнопка вин, или альт таб, вин таб, контрол шифт эскейп и подобные.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:00.
|