Сейчас на форуме: (+5 невидимых) |
eXeL@B —› Дневники и блоги —› ARCHANGEL's blog |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
Посл.ответ | Сообщение |
|
Создано: 13 июля 2012 18:28 · Личное сообщение · #1 Добрый день, уважаемые форумчане. Ни для кого не секрет, что решил я с недавних пор пойти учиться программированию. Поэтому стали меня интересовать практические аспекты кодинга, иногда весьма далёкие от вопросов реверсинга. Поэтому чтоб не засорять форум, решил создать этот блог. Стоит сказать, что вопросы, которые планируется тут разбирать, не такие уж и бесполезные. Они часто могут возникать при написании тех же кейгенов или тулз для реверсинга, так что, надеюсь, каждый сможет найти здесь что-нибудь интересное. Как некоторые уже догадались, вопросы Common Controls, простым числам, и сегодняшний вопрос по OpenGL как раз из серии учебных. Теперь о самом вопросе. На днях выполнял задание про отрисовку простых фигур: треугольника, квадрата и т.д. Решено было выполнять рисование средствами OpenGL. Литературы по этому делу много, поэтому я разобрался, что и как. Т.е. в литературе советовали использовать бибилиотеку glut.dll, которая сама не относится к стандартному OpenGL, но её применение, как я понял, упрощает использование OpenGL в своих проектах. Далее я решил создать базовый класс для отрисовки треугольника, а от него создать производные классы для отрисовки других геометрических фигур. Но на практике получилась вот такая сложность. Дело в том, что glut, по сути, инкапсулирует функции Windows и OpenGL, что упрощает операции с ними. Но от базовых вещей же никуда не деться. Т.е. если процедура обработки оконных сообщений (CALLBACK WindowProc) должна присутствовать, то в классе она должна быть статической. Так и здесь: Code:
Но вот проблема - мне нужно передать внутрь Draw несколько параметров. Являясь статическим методом, Draw не имеет указателя this, а значит не видит обычных полей. Статические поля он видит, но при попытке в конструкторе присвоить значения этим полям появляется ошибка линковки. Понятное дело, что по-хорошему, можно обойтись совсем без классов, но это превратит код в кашу - большое количество глобальных переменных, почти одинаковые функции со схожим функционалом принесут путаницу раньше, чем будут отрисованы несколько фигур. Кто посоветует, как быть в такой ситуации и как решить проблему со статическими функциями-членами? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 28 февраля 2013 16:27 · Личное сообщение · #2 |
|
Создано: 28 февраля 2013 16:36 · Личное сообщение · #3 reversecode Всё гораздо проще. Передо мной стоит несколько задач: 1. Научиться кодить быстро. 2. Научиться кодить графику. 3. Научиться кодить сложные математические алгоритмы (численные методы). Зачем это надо? Во-первых, тулзы для реверсинга хочется кодить. Во-вторых, чтоб они не были страшненькими. В-третьих - это для работы. В учебном заведении, которое я нынче посещаю, сейчас идёт прекрасный курс Win API. Вы, я полагаю, понимаете, как о для меня "нов и как его глубоко преподают". С++ уже как-то осилили. Теперь надо б изучить нормальный фреймворк. Студия - это прекрасно, но это ж не фреймворк. С шарп - ну, я его недолюбливаю. А кьют можно и поизучать пока. А что - идея мне нравится, объектно-ориентирован, красив в плане графики, позволяет наряду с его нововведениями типа метаобъектов использовать и то, чему я научился раньше типа stl, WinAPI и фишечек, специфичных для студийного компилятора. Вон hors смог дай запилить, красавчик. Может, и я когда-нибудь что-то запилю полезное для людей. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 28 февраля 2013 16:39 · Поправил: reversecode · Личное сообщение · #4 ARCHANGEL пишет: 1. Научиться кодить быстро. 2. Научиться кодить графику. 3. Научиться кодить сложные математические алгоритмы (численные методы). != (не равно) ARCHANGEL пишет: тулзы для реверсинга хочется кодить 1,2,3 => gamedev.ru ARCHANGEL пишет: В-третьих - это для работы. если в gamedev, то тогда понятно |
|
Создано: 28 февраля 2013 16:58 · Поправил: neomant · Личное сообщение · #5 reversecode пишет: ты бы бросал уже изучать все подряд а опредялся с предметной областью где интересней/переспективней/итд А почему бы и не поизучать, если интересно. Хотя бы затем, чтобы знать, что есть и затем выбрать для себя, что лучше подходит. Сам изучил Java, хотя пока практических применений ему не вижу. На счёт C# - предвзятое отношение к нему, хотя это и не тема для священных войн. Может потому не нравится, что чуть меньше чем полностью идея содрана с Явы. Ещё раздражает его визуальная среда разработки в Студии, попахивает чем-то Дельфийским и потыкает новичкам в говнокодерстве. ----- Следуй за белым кроликом |
|
Создано: 28 февраля 2013 17:10 · Личное сообщение · #6 neomant пишет: А почему бы и не поизучать, если интересно. оглядываясь назад по своему пути, вижу что очень много ценного времени было потрачено на изучение того что нафиг не надо, потому что основное в выборе стало именно интерес в технологиях,переспективах не.., дело конечно хозяйское но как по мне, нету смысла окучивать кустик гдето в лесу, если планируешь перебиратся в город а кустик вместе с рощей все равно сравняют через несколько лет с землей |
|
Создано: 18 марта 2013 20:41 · Личное сообщение · #7 Хэллоу, товарищи. Появилась у меня новая задачка, из теории графов. Мне нужно в графе получить все допустимые маршруты из точки А до точки В. Именно не кратчайшие, не эйлеровы и гамильтоновы, не проверить, есть маршрут или нет, а именно все. Гуглил. Похоже, это - дежурный вопрос студенческого сообщества. Вот только дежурные ответы как-то не гуглятся. Что подскажете, уважаемые? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 18 марта 2013 20:55 · Личное сообщение · #8 |
|
Создано: 18 марта 2013 22:10 · Личное сообщение · #9 |
|
Создано: 19 марта 2013 00:27 · Личное сообщение · #10 Хорошо, ну а если более подробно? Смотрите, что мне неясно. Изначально граф - это некий контейнер объектов. Как я понимаю, он содержит внутри себя ребра, чтоб можно было отмечать уже пройденные. Ребро должно содержать информацию о вершинах, которые это ребро соединяет. Но в качестве начала движения, да и в качестве конца движения тоже, мы задаем вершину. Получается, что в рёбрах неудобно искать вершину. Если же поменять вершины и рёбра местами, т.е. в контейнере хранить экземпляры объектов "вершин", то проблема - как помечать рёбра. И как быть? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 19 марта 2013 01:02 · Личное сообщение · #11 ARCHANGEL пишет: проблема - как помечать рёбра Создать еще один контейнер объектов, где будут храниться пройденные пути. Потом рекурсивно начать обход графа. Если нового пути нет во втором контейнере, то добавляем его во второй контейнер, если есть игнорируем. Если задача чисто практическая, например нужно реализовать графы в своей программе, то можно использовать уже готовые библиотеки. Для питона я использовал вот это http://gitorious.org/projects/graphine/pages/Home ----- http://ntinfo.biz |
|
Создано: 29 марта 2013 00:28 · Личное сообщение · #12 |
|
Создано: 29 марта 2013 01:36 · Личное сообщение · #13 |
|
Создано: 29 марта 2013 02:26 · Личное сообщение · #14 |
|
Создано: 29 марта 2013 19:59 · Поправил: Nimnul · Личное сообщение · #15 |
|
Создано: 30 марта 2013 15:32 · Личное сообщение · #16 |
|
Создано: 30 марта 2013 15:56 · Личное сообщение · #17 |
|
Создано: 30 марта 2013 16:01 · Поправил: reversecode · Личное сообщение · #18 |
|
Создано: 30 марта 2013 16:09 · Поправил: Nimnul · Личное сообщение · #19 |
|
Создано: 01 апреля 2013 22:02 · Поправил: neomant · Личное сообщение · #20 |
|
Создано: 02 апреля 2013 12:00 · Личное сообщение · #21 |
|
Создано: 02 апреля 2013 13:07 · Поправил: neomant · Личное сообщение · #22 |
|
Создано: 02 апреля 2013 13:08 · Личное сообщение · #23 |
|
Создано: 02 апреля 2013 19:43 · Поправил: neomant · Личное сообщение · #24 |
|
Создано: 03 апреля 2013 09:45 · Личное сообщение · #25 Ну, есть ещё и задачи не из области информатики. Например, распределение потока жидкости или газа в кольцевой системе (гидравлический расчёт). Подобная же задача встречается и у электриков. Там же может быть поставлена задача проверки возможности построения на указанных вершинах планарного графа с целью выявить, возможна ли реализация электрической схемы на плоскости - без пересечения контактов. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 04 апреля 2013 12:06 · Личное сообщение · #26 |
|
Создано: 19 апреля 2013 16:08 · Личное сообщение · #27 Товарищи, собираюсь писать приложение, которое в ходе своей работы должно строить графики некоторых полиномиальных функций и сохранять эти графики в виде картинок. Формат хранения этих самых картинок (изображений) не принципиален, т.е. jpeg, bmp, png - подойдут. Вызывает затруднение такой момент. Допустим, я в клиентской области окна отобразил график так, как мне нужно. Как бы теперь программно сохранить эту область в виде картинки? Т.е. такой своеобразный принтскрин клиенсткой области окна - как это всё вообще может быть реализовано? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 19 апреля 2013 16:46 · Личное сообщение · #28 |
|
Создано: 19 апреля 2013 16:56 · Личное сообщение · #29 |
|
Создано: 19 апреля 2013 17:45 · Личное сообщение · #30 Точно сейчас не скажу, примерно, в теории. Создаём контекст изображения в памяти, совместимый с контекстом окна, BitBlt в него из контекста окна и после этого имеем битовое изображение. Затем формируем BMP заголовок и скидываем всё на диск. Но лучше не заморачиваться сильно и поискать уже готовые наработки. ----- Следуй за белым кроликом |
|
Создано: 19 апреля 2013 19:24 · Поправил: OKOB · Личное сообщение · #31 или так Code:
с использованием ----- 127.0.0.1, sweet 127.0.0.1 | Сообщение посчитали полезным: ARCHANGEL |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
eXeL@B —› Дневники и блоги —› ARCHANGEL's blog |