Форум программистов, компьютерный форум CyberForum.ru

Передача свойств обьекта в функцию openGL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Непонятен синтаксис http://www.cyberforum.ru/cpp-beginners/thread606047.html
Доброго времени суток! Хотелось бы попросить вашего совета. код double **E = new double *; в данном отрывке что значит **E и *?
C++ Вылетает деструктор Здравствуйте. Есть класс Node. class Node { public: Node(); ~Node(); /* Методы */ http://www.cyberforum.ru/cpp-beginners/thread606044.html
C++ Определить, какое абсолютное значение встречается в массиве чаще остальных
Определить, какое абсолютное значение встречается в массиве чаще остальных Размерность массива=200 Диапазон значений от -50 до 50
C++ Динамический массив
Вроде все просто, но что-то я завис, ведь когда у меня динамически создается матрица: fnprcl=new AnsiString*; for(int i=0;i<count2;i++) fnprcl=new AnsiString; у меня count2 столбцов, так ведь, или я опять перепутал?)
C++ Правильно ли я делаю http://www.cyberforum.ru/cpp-beginners/thread605976.html
Дана матрица,выяснить явл ли она еденичной if ((i=j) && (m<>1)) || ((i<>j) &&(m<>0))
C++ Что означает pos ^= 1 в данном коде? #include <stdio.h> #include <stdlib.h> #define FILE_NAME "numbers.txt" int main(void) { int numbers, pos; FILE *f; подробнее

Показать сообщение отдельно
Yanooob
0 / 0 / 0
Регистрация: 12.06.2012
Сообщений: 3

Передача свойств обьекта в функцию openGL - C++

15.06.2012, 00:08. Просмотров 317. Ответов 1
Метки (Все метки)

Здравствуйте уважаемые форумчане..Пришел к вам со следующей нуждой:

У меня есть класс тайловой карты. При создании карты инициализируется массив следующим образом:

1 0 1 0 1
0 1 0 1 0
1 0 1 0 1
0 1 0 1 0

где 1-это ячейка карты которую надо отрисовать
0-та ячейка, которая не учавствует в программе.

Обьект класса Map создаю так:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Map::Map(int w, int h){
    mapArray=new MapTile**[h];
    for (int i=0; i<h;i ++){
        mapArray[i]=new MapTile*[w];
    }
    for (int i=0; i<h; i++){
        for (int j=0; j<w; j++){
            mapArray[i][j]=new MapTile(i+1,j+1,((i%2>0)&&(j%2>0))||((i%2==0)&&(j%2==0)));   
        }
    }
    MapTile *Tile;
    for (int i=0; i<h;i++){
        for (int j=0; j<w;j++){
            Tile=getTile(i,j);
            std::cout<<Tile->available<<" ";
        }
        std::cout<<"\n";
    }
    for (int i=0; i<h;i++){
        for (int j=0; j<w;j++){
            Tile=getTile(i,j);
            std::cout<<"X: "<<Tile->x<<"   Y: "<<Tile->y<<"\n";
        }
        std::cout<<"\n";
    }
 
}
Это файл main.cpp:

C++
1
2
3
4
5
6
7
8
#include "Application.hpp"
 
int main(int argc, char *argv[])
{
    int retValue;
    retValue=Application::appMain();
    return retValue;
}

В функции appMain: Создается обьект класса Map *map1=new Map(30,20);
Далее запускается функция WinMain которая создает окно опенгл и отрисовывает графику.

Мне нужно в функцию DrawGLScene (GLvoid) каким то образом передать эти самые размеры карты 30 и 20. Лучше если вообще весь обьект. Как мне это можно сделать?

P.S: функция DrawGLScene и декларирование функции appMain лежат в разных файлах! (Ogl.cpp и Application.cpp)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru