Окно Opengl с управлением мышью для win 32 - PullRequest
0 голосов
/ 07 января 2010

Я новичок в OpenGl, почти новичок в C ++.

Я ищу код, который выполняет следующие действия.

  1. Открыть окно OpenGL (возможно с использованием перенасыщения)
  2. Поворот точки обзора, когда пользователь нажимает левую кнопку мыши
  3. увеличение при нажатии правой кнопки мыши
  4. перевести точку зрения пользователя, нажать центральную кнопку

По сути, мне нужна очень простая графическая платформа, на которой я буду отображать результаты, полученные из моих алгоритмов. Я пытался использовать библиотеку переизбытка и некоторый код, поступающий из Интернета, но не повезло!

Это должен быть базовый проект, подскажите, пожалуйста, где его найти. Мне просто кажется нереальным, что такой простой проект оказывается таким трудным для поиска, но я гуглял часами, но без результатов.

Я очень ценю вашу помощь,

большое спасибо

Ответы [ 2 ]

1 голос
/ 07 января 2010

Вы просите изрядное количество кода там. Основной, но не несущественный. Даже если мы предоставим код для выполнения того, что вы просили, я не уверен, что вы сможете использовать его для выполнения своих задач. Красная книга - это «библия» по программированию OpenGL, которая предоставит вам множество функций и способы их использования. Я нашел все это онлайн здесь . Посмотрите на главы 1-3 для вашего рисунка и вращения. Кроме того, в Lighthouse 3D есть несколько отличных учебных пособий, на которые вы можете посмотреть события мыши ( Link ). Некоторое знание линейной алгебры действительно помогает, но вы можете обойтись без нее.

0 голосов
/ 07 января 2010

Я не думаю, что он напрямую реализует все, что вы хотите, но вы, возможно, захотите взглянуть на элемент управления 3D-графиком в Code Project. Это вряд ли уникально - вы можете захотеть поискать что-то вроде «opengl activex» в Google и взглянуть на некоторые альтернативы. Я сомневаюсь, что кто-либо непосредственно реализует все, о чем вы просили - они, вероятно, будут включать в себя большинство основных операций, но вам нужно будет установить связь между операциями мыши и действиями в окне.

...