gothic_cat
Молодой Гродненец
Репутация: +3/-0
Offline
Пол:
Сообщений: 35
|
|
« : 02 Декабрь 2007, 04:17:47 » |
|
нуждаюсь в помощи по дабыче обалочки к данной библиотеке... необходимость: создание 3D модели в Open GL короче говоря, нужна обалочка, для написание задачи
|
|
|
Записан
|
|
|
|
Sham
|
|
« Ответ #1 : 02 Декабрь 2007, 14:00:20 » |
|
хм... странное у тебя желание... подключаешь эту библиотеку к проекту(смотря на чем пишешь) и юзаешь в своих нуждах...
|
|
|
Записан
|
for (int Pivo = 20; Pivo > 0; Pivo--) DrinkOnePivo(true);
|
|
|
Paladin
|
|
« Ответ #2 : 02 Декабрь 2007, 14:30:38 » |
|
А чо такое "оболочка" к библиотеке? Растусуйте мне непонятливому.
|
|
|
Записан
|
|
|
|
gothic_cat
Молодой Гродненец
Репутация: +3/-0
Offline
Пол:
Сообщений: 35
|
|
« Ответ #3 : 02 Декабрь 2007, 15:37:32 » |
|
Sham, да скорее не желание, а задание... как препод объяснил, не к каждой фигне ее подключишь.ена должно быть что-то конкретное, оно же и для директа. положим к делфе не выходит подключать
Paladin, эммм... такая штучка, куда команды писать, а оно потом выполнять будет
|
|
|
Записан
|
|
|
|
Paladin
|
|
« Ответ #4 : 02 Декабрь 2007, 16:28:42 » |
|
Sham, да скорее не желание, а задание... как препод объяснил, не к каждой фигне ее подключишь.ена должно быть что-то конкретное, оно же и для директа. положим к делфе не выходит подключать
Paladin, эммм... такая штучка, куда команды писать, а оно потом выполнять будет Дык ему всетаки оболочка нужна для построения чего либо в openGL? Или ему нужно писать лабу которое это будет строить? Если первое то он перепутал ветки...
|
|
|
Записан
|
|
|
|
iddqd
|
|
« Ответ #5 : 02 Декабрь 2007, 16:34:23 » |
|
Sham, да скорее не желание, а задание... как препод объяснил, не к каждой фигне ее подключишь.ена должно быть что-то конкретное, оно же и для директа. положим к делфе не выходит подключать
opengl для дельфи есть
|
|
|
Записан
|
|
|
|
Sham
|
|
« Ответ #6 : 02 Декабрь 2007, 16:37:39 » |
|
Для Delphi, для студии(VS), для Java... да много к чему можно привинтить эту библиотеку... было бы желание upd положим к делфе не выходит подключать А здесь поподробней)) Что значит положим не выходит)) upd2 Тут наверное стоит задать вопрос: А какие языки программирования(хотя бы основы) ты знаешь? Наверное от этого и надо отталкиваться.
|
|
« Последнее редактирование: 02 Декабрь 2007, 16:47:35 от Sham »
|
Записан
|
for (int Pivo = 20; Pivo > 0; Pivo--) DrinkOnePivo(true);
|
|
|
gothic_cat
Молодой Гродненец
Репутация: +3/-0
Offline
Пол:
Сообщений: 35
|
|
« Ответ #7 : 02 Декабрь 2007, 16:54:53 » |
|
давайте отталкнемся от того, что учу С++. раздел, который сейчас прохожу Open GL. т.е. построение моделей в нем.
впрочем, вопрос состоял в том, знает ли кто, где добыть оболочку, ни в чем ином
|
|
|
Записан
|
|
|
|
Sham
|
|
« Ответ #8 : 02 Декабрь 2007, 17:00:15 » |
|
давайте отталкнемся от того, что учу С++. раздел, который сейчас прохожу Open GL. т.е. построение моделей в нем.
впрочем, вопрос состоял в том, знает ли кто, где добыть оболочку, ни в чем ином Ну ты же не пишешь исходник в блокноте а потом через командную строку компилишь?) Если нет, то ты, как ни крути, используешь какую-то "оболочку". Через эту оболочку и подключаешь. Или кидаешь *.dll в корень своей программы и подключи с помошью #include. Или моя вас совсем не понимать)) А может тебе надо сами библиотеки OpenGL?
|
|
|
Записан
|
for (int Pivo = 20; Pivo > 0; Pivo--) DrinkOnePivo(true);
|
|
|
gothic_cat
Молодой Гродненец
Репутация: +3/-0
Offline
Пол:
Сообщений: 35
|
|
« Ответ #9 : 02 Декабрь 2007, 17:07:02 » |
|
я вас вполне понимать. попрашу сильно за дуру не держать, библиотека стандартна для винды. имеется в папке system32.
ладно, тогда другой вариант. как считаете, прокатит ли нарисованная в 3D max модель, перекодированная в Open?
|
|
|
Записан
|
|
|
|
Sham
|
ладно, тогда другой вариант. как считаете, прокатит ли нарисованная в 3D max модель, перекодированная в Open? Я конечно не силен в 3D Max, но все же спрошу , что значит "перекодированная в Open" Такое возможно? Или ты подразумеваешь построить некий рисунок в 3D max, сохранить его, а затем вставить в прогу и типа вуаля?))
|
|
|
Записан
|
for (int Pivo = 20; Pivo > 0; Pivo--) DrinkOnePivo(true);
|
|
|
gothic_cat
Молодой Гродненец
Репутация: +3/-0
Offline
Пол:
Сообщений: 35
|
я имею ввиду, блин, даж не знаю что... просто предложили выход такой... нарисовать в максе, потом перевести на язык опена... не работала с такой фигней, но сказали, что вообще это реально
|
|
|
Записан
|
|
|
|
Sham
|
Вот и я не работал. Ну если реально, то удачи Это наверное в стиле создавать сайты в Macromedia Dreamweaver.)) Килотонны левого абсолютно ненужного текста. Думаю тут то же самое. Да блин, если ты учишь С++. Вы сдаете всякие там лабы. Неужели вам не давали хоть малейшей инфы о OpenGL? Хотя бы самый элементарный пример? У меня такое чувство, что ты сама все быстрее сделаешь, пока будешь ждать помощи сверху upd Покапался в гугле. Действительно можно перегнать. Но как именно дальше не лез. Там походу тож надо пару библиотек подключить чтоб работало
|
|
« Последнее редактирование: 02 Декабрь 2007, 18:02:01 от Sham »
|
Записан
|
for (int Pivo = 20; Pivo > 0; Pivo--) DrinkOnePivo(true);
|
|
|
coolasm
|
Если тебе нужна библиотека для работы с OpenGL и ты не обладаешь достаточным опытом системного программирования (ну там типа WinApi и прочая ерунда), то лутшим выбором будет библиотека Glut. Если нужно сделать прогу для того что бы просто отцепились, то проще всего поступить следующим образом: Найти, скачать и установить такую прогу как Deep Exploration Это крутой просмотрщик 3d моделей (аналог ACDSee только для 3d) Сделав модель в любом редакторе открываешь ее в Deep Exploration и сохраняешь в формате CPP предворительно настроив сохранение так как тебе нужно. Кароче говоря Deep Exploration сгенерит весь необходимый код используя команды OpenGL, а тебе придется внести свои изменения и откомпилить. Все...
|
|
« Последнее редактирование: 02 Декабрь 2007, 18:33:53 от coolasm »
|
Записан
|
HTTP Error 404 - File or directory not found.
|
|
|
|
НеФедька
|
ыыы как я понял - девушке нужен был простейший движок на ОпенГл Но он не настолько тяжел, что бы юзать движки готовые. по крайней мере для лаб просто найти нужную сборку. Вот если бы изучали Директ... Тогда проще брать готовый бесплатный движек
|
|
|
Записан
|
|
|
|
Paladin
|
Кстати раз уж у нас такая тема? Мож кто мне растусует мое где я не прав. Баталии у мну ведуться в Java с GL10. И проблемма в построителе. Когда я засовываю в него триангулированный кубик все отлично рисуется но когда я в него засовываю чтото более объемное (по индексу) то оно отрисовывает только несколько граней о стальные кудата вдрух диюццо. Касательно нормалей или направлений обхода граней в индексе я в курсе. вот пример "правильного" кода class Cube { public Cube() { int one = 0x10000; int vertices[] = { -one, -one, -one, one, -one, -one, one, one, -one, -one, one, -one, -one, -one, one, one, -one, one, one, one, one, -one, one, one, }; int colors[] = { 0, 0, 0, one, one, 0, 0, one, one, one, 0, one, 0, one, 0, one, 0, 0, one, one, one, 0, one, one, one, one, one, one, 0, one, one, one, };
byte indices[] = { 0, 4, 5, 0, 5, 1, 1, 5, 6, 1, 6, 2, 2, 6, 7, 2, 7, 3, 3, 7, 4, 3, 4, 0, 4, 7, 6, 4, 6, 5, 3, 0, 1, 3, 1, 2 };
// Buffers to be passed to gl*Pointer() functions // must be direct, i.e., they must be placed on the // native heap where the garbage collector cannot // move them. // // Buffers with multi-byte datatypes (e.g., short, int, float) // must have their byte order set to native order
ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length*4); vbb.order(ByteOrder.nativeOrder()); mVertexBuffer = vbb.asIntBuffer(); mVertexBuffer.put(vertices); mVertexBuffer.position(0);
ByteBuffer cbb = ByteBuffer.allocateDirect(colors.length*4); cbb.order(ByteOrder.nativeOrder()); mColorBuffer = cbb.asIntBuffer(); mColorBuffer.put(colors); mColorBuffer.position(0);
mIndexBuffer = ByteBuffer.allocateDirect(indices.length); mIndexBuffer.put(indices); mIndexBuffer.position(0); } public void draw(GL10 gl) { gl.glFrontFace(gl.GL_CW); gl.glVertexPointer(3, gl.GL_FIXED, 0, mVertexBuffer); gl.glColorPointer(4, gl.GL_FIXED, 0, mColorBuffer); gl.glDrawElements(gl.GL_TRIANGLES, 36, gl.GL_UNSIGNED_BYTE, mIndexBuffer); } private IntBuffer mVertexBuffer; private IntBuffer mColorBuffer; private ByteBuffer mIndexBuffer; }
вот проблемма в том что если в массив indices[] положить больше граней то они просто не отрисуюццо. Думаю дело в какихто ограничениях?
|
|
« Последнее редактирование: 04 Декабрь 2007, 10:57:03 от Paladin »
|
Записан
|
|
|
|
coolasm
|
Как я понял то ты просто увеличаваешь массив индексов и больше ничего не меняешь, если это так то у тебя ошибка будет в: ... ... gl.glDrawElements(gl.GL_TRIANGLES, 36, gl.GL_UNSIGNED_BYTE, mIndexBuffer); ...
Используется константное количество индексов
|
|
|
Записан
|
HTTP Error 404 - File or directory not found.
|
|
|
Paladin
|
coolasm +1 за наблюдательность!!!!!!!!!!!! Спасибо! Скорее всего это так!
|
|
|
Записан
|
|
|
|
Paladin
|
Кстати... кто бы мне из знатоков растусовал? 1. Как правильно размещать свет. (ну хотябы самы простой амбиент) 2. Как накладывать материал. 3. Как накладывать текстуры.
Если можно то в контексте Java и GL10. Если нет то так. Или ссылочкой какой помогите. Гуглю уже давно... но вразумительных объяснений пока что не нашел... только сишные примеры... которые после адаптации вслепую не работают.
|
|
« Последнее редактирование: 10 Декабрь 2007, 10:18:00 от Paladin »
|
Записан
|
|
|
|
coolasm
|
|
|
|
Записан
|
HTTP Error 404 - File or directory not found.
|
|
|
|
Водитель баржы
Гродненец
Репутация: +17/-0
Offline
Пол:
Сообщений: 75
Готов на все !!!
|
Open GL 2 , что там слышно ?
|
|
|
Записан
|
|
|
|
coolasm
|
Слышно что скоро должен выйти OpenGL 3.0
|
|
|
Записан
|
HTTP Error 404 - File or directory not found.
|
|
|
|