2013-11-16 3 views
6

Я хочу знать, есть ли возможность использовать OpenGL в C, даже не царапая C++, учебные пособия или базовые исходные коды приветствуются!Использование только C (не C++) для OpenGL?

И если возможно, насколько глубоки мои навыки С должны были бы понять и использовать его? В настоящее время я все еще участвую в основном, и мне нравится делать это, откусывая больше, чем я могу пережевывать.

+0

Да. Вы можете использовать OpenGL только с C, но я не могу придумать никаких учебных пособий, которые охватывают это. В C++ много отличных функций, которые облегчают вашу жизнь (не говоря уже о широком спектре библиотек, которые могут дополнять вашу программу и сокращать время разработки). Хотя я могу думать о случаях, когда C++ просто не вариант. Есть ли какие-то конкретные цели? Возможно, мы можем дать лучшее предложение, если мы знаем, какова ваша конечная цель. – Xonar

+0

Как я уже сказал, я все еще учусь. И прежде чем перейти на C++, я хочу быть уверенным в своих навыках C, так как я нуждаюсь в них как постоянный Инженер. Но то, что действительно мотивирует меня, я должен сказать, это просто мой интерес к тому, как графика работает на фундаментальном уровне машины, а также с противоположной стороны, и именно так написаны эти красивые графические движки, такие как CryTec и т. Д. Я ценю это, спасибо! – BigBadWolf

ответ

12

OpenGL - это библиотека C, а не C++.

Единственное, почему почти все программы используют C++ для OpenGL, есть более высокий и более простой уровень, управляющий им через некоторые оболочки, библиотеки или фреймворки. Это просто более комфортно.

Here являются хорошими примерами, которые были распространены вместе с OpenGL «Redbook» (версия 2.0).

Однако эти примеры используют OpenGL в старом стиле (рендеринг через функции), который устарел, вы всегда должны использовать шейдеры и буферы. Хотя я думаю, что для начала это может помочь.

Here on StackOverflow также обсуждалось, где найти Примеры OpenGL.

+1

Эти примеры используют «старый» стиль OpenGL. Я не думаю, что вы должны поощрять людей к его изучению. (Хотя я согласен, что это хороший пример того, чего хотел автор - OpenGL с C) – Xonar

+0

@ Xonar. Вы правы. Я почти забыл об этом. Спасибо – Zaffy

+0

@ Zaffy: OpenGL на самом деле не библиотека (несмотря на ее название), это в основном спецификация API. Я отбросил его до Open Graphics Layer. – datenwolf

Смежные вопросы