|
|
|
C++ Builder OpenGL glBegin(GL_POLYGON) Вопрос !
|
|||
|---|---|---|---|
|
#18+
Вопрос в следующем вот я рисую полигон напримре 5 уголтник и хочу его выдавить !! Ну тоесть сделать объемным ! Как это правильно делаеться ! Я пробовал банальным копированием со смещением координаты Z но на практике получаеться какято угловатая фигура ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2007, 18:52 |
|
||
|
C++ Builder OpenGL glBegin(GL_POLYGON) Вопрос !
|
|||
|---|---|---|---|
|
#18+
Begem0t!kВопрос в следующем вот я рисую полигон напримре 5 уголтник и хочу его выдавить !! Ну тоесть сделать объемным ! Как это правильно делаеться ! Я пробовал банальным копированием со смещением координаты Z но на практике получаеться какято угловатая фигура ! В смысле? Призму что ли из него сделать? это тебе надо будет полигоны для дна, верха и сторон рисовать. Если повернуть, то glRotatef, glTranslatef и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2007, 19:30 |
|
||
|
C++ Builder OpenGL glBegin(GL_POLYGON) Вопрос !
|
|||
|---|---|---|---|
|
#18+
ErV Begem0t!kВопрос в следующем вот я рисую полигон напримре 5 уголтник и хочу его выдавить !! Ну тоесть сделать объемным ! Как это правильно делаеться ! Я пробовал банальным копированием со смещением координаты Z но на практике получаеться какято угловатая фигура ! В смысле? Призму что ли из него сделать? это тебе надо будет полигоны для дна, верха и сторон рисовать. Если повернуть, то glRotatef, glTranslatef и т.д. Правильно ты меня понял ! Но неужели все так сложно ! У меня полигоны совершенно разные я пыталься просто число полигонов в ряд вывести много!(плоских) Но получаеться не красиво! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2007, 20:25 |
|
||
|
C++ Builder OpenGL glBegin(GL_POLYGON) Вопрос !
|
|||
|---|---|---|---|
|
#18+
Есть какой нить алгортм рисования то ! У меня прсто набор точек для многоугольнка а как дальше рассчиатать координаты всех сторон да еще и их форму ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2007, 20:26 |
|
||
|
C++ Builder OpenGL glBegin(GL_POLYGON) Вопрос !
|
|||
|---|---|---|---|
|
#18+
Функции, которая автоматом выдавливает полигон в OpenGL я не знаю, так как такие вещи делаются вручную. Можешь поковырять документацию по Glut/Glu, но сильно сомневаюсь, что там такое есть. Begem0t!kЕсть какой нить алгортм рисования то ! У меня прсто набор точек для многоугольнка а как дальше рассчиатать координаты всех сторон да еще и их форму ?? А что тут сложного? Сторона это квадрат, т.е. полигон. Принцип следующий. (рисуем в нуле координат) Берется массив вершин, в котором базовый полигон. Допустим, только координаты в x и y, перечисленный в нужном порядке, чтобы нарисовать видимый полигон. Дно у нас будет на Z = 0, а верхушка на Z = height (высота). Порядок действий. 1) при помощи GL_POLYGON рисуем вершины из массива в нужном порядке. Z пишем равным высоте призмы. Это будет верхушка призмы. Нормаль для неё смотрит вверх. 2) при помощи GL_POLYGON рисуем вершины из массива в ОБРАТНОМ порядке. Z задаем равным нулю. Это будет дно. В обратном порядке, так как дно нужно "вывернуть наизнанку", чтобы корректно работало отсечение. Нормаль смотрит вниз. 3) Для каждого ребра полигона рисуем квадрат - две вершины на Z == нужная высота, и две вершины на Z == 0; это будут грани многоугольника. Нужную нормаль надо вычислять. Получим заполненный обьемный многогранник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 04:13 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34353642&tid=2029378]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 351ms |

| 0 / 0 |
