Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 17.01.2019
Сообщений: 16
1

OpenTK загрузка текстур

16.12.2019, 14:14. Показов 3688. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу приложение для имитации полета беспилотника. За основу взяла туториал http://neokabuto.blogspot.com/... -from.html . Так-то вроде все рабочее, хоть и вылетает через раз. Но у меня возникла проблема в силу того, что я занимаюсь компьютерной графикой всего лишь месяц и не совсем еще вникла во все нюансы. Как правильно оформляются текстуры на сложные объекты. Вот как сейчас существует, как я понимаю, программа воспринимает каждый объект как куб, и пытается натянуть на него текстуры по всем сторонам.


Отсюда у меня вопрос, который подразумевает чисто порядок действий моих - что мне нужно добавить, исправить, желательно какой туториал глянуть или прочитать. Как создать текстуры на сложный объект? Допустим, на елку или на самолет? У меня модель типа obj, треугольными полигонами записаны, пишу на C# с использованием библиотеки openTK.
Заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2019, 14:14
Ответы с готовыми решениями:

Загрузка текстур
Здравствуйте. Вылетает с ошибкой сегментации. Подскажите причину, пожалуйста. #include...

Загрузка текстур
Подскажите способы загрузки текстур, я знаю только один способ auxDIBImageLoad, но он я так...

Загрузка текстур
помогите! я в замешательстве! когда загружаю текстуры - все белое! что не так? помогите! срочно ...

Загрузка текстур в программу
Здравствуйте, в общем не понимаю как загрузить в программу текстуру, допустим она находится по пути...

11
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
16.12.2019, 16:35 2
За одно вместе с OpenGL тренируйтесь в английском, изучая туториал по OpenTK и C#: https://opentk.net/learn/chapt... indow.html Призываю, как в этом туториале использовать с самого начала актуальный шейдерный OpenGL, и не тратить потом время, чтобы войти в шейдерный. А вообще, советую начало этой книги прочитать, где замечательно и очень доступно объяснено, как работают шейдеры: WebGL. Программирование трехмерной графики
Примеры из книги на JSFiddle. Запускаются по одному клику в браузере

Chapter 02. Your First Step with WebGL
ch02/HelloCanvas: https://jsfiddle.net/8Observer8/2gky294r/
ch02/HelloPoint1: https://jsfiddle.net/8Observer8/cc72u1u5/
ch02/HelloPoint2: https://jsfiddle.net/8Observer8/uxw657ud/
ch02/ClickedPoints: https://jsfiddle.net/8Observer8/xf4fnc0o/
ch02/ColoredPoints: https://jsfiddle.net/8Observer8/gkkmnpga/

Chapter 03. Drawing and Transforming Triangles
ch03/MultiPoint: https://jsfiddle.net/8Observer8/cty1120m/
ch03/HelloTriangle: https://jsfiddle.net/8Observer8/wk4sksnw/
ch03/HelloQuad: https://jsfiddle.net/8Observer8/g4ctyk7w/
ch03/HelloQuad_FAN: https://jsfiddle.net/8Observer8/v119e8o6/
ch03/HelloTriangle_LINES: https://jsfiddle.net/8Observer8/wwrkaxcf/
ch03/HelloTriangle_LINE_STRIP: https://jsfiddle.net/8Observer8/3ggjz4rm/
ch03/HelloTriangle_LINE_LOOP: https://jsfiddle.net/8Observer8/7vcyquro/
ch03/TranslatedTriangle: https://jsfiddle.net/8Observer8/0dp4xvyt/
ch03/RotatedTriangle: https://jsfiddle.net/8Observer8/gh9s6szm/
ch03/RotatedTriangle_Matrix: https://jsfiddle.net/8Observer8/7ze7pgpu/
ch03/ScaledTriangle_Matrix: https://jsfiddle.net/8Observer8/6xzoe63s/

Chapter 04. More Transformations and Basic Animation
ch04/RotatedTriangle_Matrix4: https://jsfiddle.net/8Observer8/t4y7783v/
ch04/RotatedTranslatedTriangle: https://jsfiddle.net/8Observer8/b5yfxojp/
ch04/TranslatedRotatedTriangle: https://jsfiddle.net/8Observer8/o8voebc9/
ch04/RotatingTriangle: https://jsfiddle.net/8Observer8/x9j5vdk7/
ch04/RotatingTranslatedTriangle: https://jsfiddle.net/8Observer8/rkrv0322/
ch04/RotatingTriangle_withButtons: https://jsfiddle.net/8Observer8/wzoLmdzd/

Chapter 05. Using Colors and Texture Images
ch05/MultiAttributeSize: https://jsfiddle.net/8Observer8/dsfgezbj/
ch05/MultiAttributeSize_Interleaved: https://jsfiddle.net/8Observer8/bshwnden/
ch05/MultiAttributeColor: https://jsfiddle.net/8Observer8/bveykLdf/
ch05/ColoredTriangle: https://jsfiddle.net/8Observer8/mrkpms7d/
ch05/HelloTriangle_FragCoord: https://jsfiddle.net/8Observer8/ft33yo9s/
ch05/TexturedQuad: https://jsfiddle.net/8Observer8/o3vakb3h/
ch05/TexturedQuad_Repeat: https://jsfiddle.net/8Observer8/2s7q68cc/
ch05/TexturedQuad_Clamp_Mirror: https://jsfiddle.net/8Observer8/mqu0wwma/
ch05/MultiTexture: https://jsfiddle.net/8Observer8/ztew5u0p/

Chapter 07. Toward the 3D World
ch07/LookAtTriangles: https://jsfiddle.net/8Observer8/6ab11xpg/
ch07/LookAtRotatedTriangles: https://jsfiddle.net/8Observer8/944dd57h/
ch07/LookAtRotatedTriangles_modelViewMatrix: https://jsfiddle.net/8Observer8/e5t6gj1w/
ch07/LookAtTrianglesWithKeys: https://jsfiddle.net/8Observer8/38ewegg2/
ch07/OrthoView: https://jsfiddle.net/8Observer8/zebt4u7t/
ch07/LookAtTrianglesWithKey_ViewVolume: https://jsfiddle.net/8Observer8/vLcejtm1/
ch07/OrthoView_halfSize: https://jsfiddle.net/8Observer8/uvcd9h4p/
ch07/OrthoView_halfWidth: https://jsfiddle.net/8Observer8/vepodfb8/
ch07/PerspectiveView: https://jsfiddle.net/8Observer8/640pv8qe/
ch07/PerspectiveView_mvp: https://jsfiddle.net/8Observer8/w8yh4Lmj/
ch07/PerspectiveView_mvpMatrix: https://jsfiddle.net/8Observer8/hhwnx145/
ch07/DepthBuffer: https://jsfiddle.net/8Observer8/hyumw026/
ch07/Zfighting: https://jsfiddle.net/8Observer8/foc0b45t/
ch07/HelloCube: https://jsfiddle.net/8Observer8/rkpn5tyw/
ch07/ColoredCube: https://jsfiddle.net/8Observer8/80x8cyom/
ch07/ColoredCube_singleColor: https://jsfiddle.net/8Observer8/pespackq/

Chapter 08. Lighting Objects
ch08/LightedCube: https://jsfiddle.net/8Observer8/4jchxo84/
ch08/LightedCube_animation: https://jsfiddle.net/8Observer8/ekw3osj7/
ch08/LightedCube_ambient: https://jsfiddle.net/8Observer8/y6qwnfe1/
ch08/LightedTranslatedRotatedCube: https://jsfiddle.net/8Observer8/pa88ujjg/
ch08/PointLightedCube: https://jsfiddle.net/8Observer8/vuq118ue/
ch08/PointLightedCube_animation: https://jsfiddle.net/8Observer8/5bj39hb8/
ch08/PointLightedSphere: https://jsfiddle.net/8Observer8/edz9Lz8f/
ch08/PointLightedSphere_perFragment: https://jsfiddle.net/8Observer8/qzwyow4j/
ch08/PointLightedCube_perFragment: https://jsfiddle.net/8Observer8/8t1umamf/
ch08/LightedCube_perFragment: https://jsfiddle.net/8Observer8/471y2t84/

Chapter 09. Hierarchical Objects
ch09/JointModel: https://jsfiddle.net/8Observer8/vqse5egz/
ch09/MultiJointModel: https://jsfiddle.net/8Observer8/sL53wkn3/
ch09/MultiJointModel_segment: https://jsfiddle.net/8Observer8/ygvk7odv/

Chapter 10. Advanced Techniques
ch10/RotateObject: https://jsfiddle.net/8Observer8/1f5hLmff/
ch10/PickObject: https://jsfiddle.net/8Observer8/owue624n/
ch10/PickFace: https://jsfiddle.net/8Observer8/edvw6z90/
ch10/HUD: https://jsfiddle.net/8Observer8/fLxxxs35/
ch10/3DoverWeb: https://jsfiddle.net/8Observer8/tbowcc16/
ch10/Fog: https://jsfiddle.net/8Observer8/6yf9L399/
ch10/Fog_w: https://jsfiddle.net/8Observer8/8aLvthc3/
ch10/RoundedPoints: https://jsfiddle.net/8Observer8/sjs5kmn4/
ch10/LookAtBlendedTriangles: https://jsfiddle.net/8Observer8/apoz294n/
ch10/BlendedCube: https://jsfiddle.net/8Observer8/xsrL2fs5/
ch10/ProgramObject: https://jsfiddle.net/8Observer8/jnd0j6w0/
ch10/FramebufferObject: https://jsfiddle.net/8Observer8/vaLq6d66/
ch10/Shadow: https://jsfiddle.net/8Observer8/jsnfwcae/
ch10/Shadow_highp: https://jsfiddle.net/8Observer8/brjzr00n/
ch10/Shadow_highp_sphere: https://jsfiddle.net/8Observer8/4fmyLy5f/
ch10/OBJViewer: https://jsfiddle.net/8Observer8/pws1x7uv/
ch10/RotatingTriangle_contextLost: https://jsfiddle.net/8Observer8/vs01s8Lz/

Gifts
gifts/Particle: https://jsfiddle.net/8Observer8/Ltzt31vk/
gifts/Printf: https://jsfiddle.net/8Observer8/qsw7jtec/
gifts/SpecularCube: https://jsfiddle.net/8Observer8/z4xj9rbv/
gifts/TextTexture: https://jsfiddle.net/8Observer8/qt7q2kuf/
gifts/ThreeDUI: https://jsfiddle.net/8Observer8/zdw1f2st/
gifts/Wave: https://jsfiddle.net/8Observer8/eL9odthz/
gifts/WorldCoordinateSystem: https://jsfiddle.net/8Observer8/6utj3hnk/
appendix/CoordinateSystem: https://jsfiddle.net/8Observer8/dzz056jt/

Appendix
appendix/CoordinateSystem_viewVolume: https://jsfiddle.net/8Observer8/apxLww1q/
appendix/LoadShaderFromFiles: https://jsfiddle.net/8Observer8/wdn9ubhj/

Ещё тут можете посмотреть примеры: Небольшие примеры на WebGL

Цитата Сообщение от SnufkinJox Посмотреть сообщение
я занимаюсь компьютерной графикой всего лишь месяц и не совсем еще вникла во все нюансы.
Как минимум год нужно, чтобы вникнуть в базовые вещи, отрабатывая знания на практике, переписывая одно и тоже много раз, добавляя что-то новое, стараяс не подсматривать в прошлые проекты, или подсматривая, когда действительно нужно, например, быстро сделать кому-то задание.

Цитата Сообщение от SnufkinJox Посмотреть сообщение
За основу взяла туториал http://neokabuto.blogspot.com/... -from.html
Я изучал этот туториал. Я рад, что вы изучаете шейдерный OpenGL.

Цитата Сообщение от SnufkinJox Посмотреть сообщение
Как правильно оформляются текстуры на сложные объекты.
Ищите видео уроки на английском, как в Blender делать UV-развёртку. Просто тренируйтесь в моделировании и раскрашивании объектов через накладывание текстур. Можно находить готовые текстуры. Например, текстуру дерева для пола, текстуры обоев для полов. Можно самому раскрашивать текстуры прямо в Blender. В Blender есть режим рисования на текстурах. Чтобы научиться делать это легко и быстро нужно много времени потратить, чтобы отработать на практике, что описывают в видео курсах. Просто тренируйтесь, выкладывайте свои работы и попытки загрузить модель, то есть делайте примеры со своими попытками и выкладывайте архив для Visual Studio, чтобы можно было запустить ваш проект и увидиеть проблему.

Цитата Сообщение от SnufkinJox Посмотреть сообщение
чисто порядок действий моих - что мне нужно добавить, исправить
Поставьте Blender, ищите множество туториалов (желательно на английском - у них гораздо больше качественного материала), отрабатывайте на практике, что увидили и доводите увиденное до автоматизма. Изучайте OpenGL через практику, через написание множества примеров. Девайте примеры с ипортом из .obj, а так же осваивайте .dae (Collada), так как dae помимо статики может хранить анимации и кости. Просто статические модели вам скоро надоедят и вам захочется создавать анимации, а проще всего и быстрее сделать анимации в Blender на костях (скелетные анимации) и экспортировать матрицы трансформаций (то есть Joint'ы для костей) в .dae (Collada). Но с анимациями позже. Сначала хорошенько освойтесь со статикой на .obj и можете статику из .dae загружать, там XML и на плоскости из двух треугольников разберётесь, как хранятся координаты, индексы, текстурные координаты, нормали. Терпение и труд всё перетрут.
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
16.12.2019, 16:42 3
3D modeler создает модели а так же рисует текстуры, это создаеться в Blender, 3ds Max, Maya. Сами текстуры могут рисоваться как в тех программах которые я описал выше так и в Adobe Photoshop, GIMP, так же есть редакторы в которых можно просматривать как будет текстура лежать на модели.
Ты же я подумываю, что ты программист а их задача писать софт(программы).
Цитата Сообщение от SnufkinJox Посмотреть сообщение
программа воспринимает каждый объект как куб, и пытается натянуть на него текстуры по всем сторонам.
тут в лучшем случаи используется uv координаты по которым программа знает где точно цвет должен расположиться на модели, сам цвет берется с текстуры.
Цитата Сообщение от SnufkinJox Посмотреть сообщение
Как создать текстуры на сложный объект?
Цитата Сообщение от SnufkinJox Посмотреть сообщение
Допустим, на елку
https://www.youtube.com/watch?v=V_J5jaiASF0
https://www.youtube.com/watch?v=l8rI3t8jEMs
https://www.youtube.com/watch?v=c3Rq4TgtpiY
https://www.youtube.com/watch?v=ivPdLPaEN3A
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
16.12.2019, 17:22 4
Цитата Сообщение от Antikl Посмотреть сообщение
Ты же я подумываю, что ты программист а их задача писать софт(программы).
Я считаю, что программист должен иметь базовые навыки работы в Blender и GIMP. Хотя бы уметь сделать UV-развёртку кубика, покраску текстур (или наложение изображений на UV) в GIMP. А так же основы создания анимаций и Blender. Без элементарных знаний в Blender и GIMP и минимальной практики в этих очень сложно осваиваться с 3D графикой программисту. Это мой подход, это моё мнение и я его не навязываю, просто высказываю, какой у меня подход, а каждый в праве решать, какой дорогой ему идти и как ему проще, интереснее.

SnufkinJox, очень быстро вы поймёте, что вам нужно будет выводить текст в ваших приложениях. Это вам пример на C#, OpenTK: https://github.com/8Observer8/... GL20CSharp Скачайте ,он вам пригодится в будущем. Запустите, попробуйте, работает или нет. Можно использовать любой шрифт конвертированный в BMFont с помощью программы: Bitmap Font Generator Берёте люой TrueType (ttf) и конвертируйте в BMFont. Этот же пример может выводить текстурированные объекты и цветные объекты. В камере поменяйте матрицу проекции с ортогональной на перспективную и будет выводить в 3D. Так же там есть код загрузки и работы с текстурами. Буквы - это текстуры на прямоугольниках.

0
1 / 1 / 0
Регистрация: 17.01.2019
Сообщений: 16
17.12.2019, 04:57  [ТС] 5
Цитата Сообщение от 8Observer8 Посмотреть сообщение
За одно вместе с OpenGL тренируйтесь в английском, изучая туториал по OpenTK и C#
Здравствуйте. Я так поняла, что это начало мануала на OpenGL для чистых сей https://learnopengl.com . Правда, у меня по большей части мало чего получалось из написанного. По хорошему надо было вдумчиво с книгой сидеть и на плюсах прогать, но у меня просто сейчас нет времени, чтобы потом под шарпы переписывать - весь остальной проект готов и он на шарпах написан. Но, наверное, есть смысл там поискать про текстурирование.

Я, собственно, через блендер и делаю obj. Поскольку в блендер не умею, то в солиде модельки делаю, перегоняю их и создаю obj. Правда, у меня есть сомнения определенные, что у меня объект не центрирован. Я пыталась недавно делать UV развертку в блендере, рисовала по ней текстуры, но у меня какая-то дичь на объекте появилась, закономерность я не поняла... ну, и, собственно, все - мозговой процесс встрял.

Цитата Сообщение от 8Observer8 Посмотреть сообщение
Я изучал этот туториал. Я рад, что вы изучаете шейдерный OpenGL.
Он хороший, я благодаря нему вообще что-то смогла сделать, но вот... я тупой)))

Я прикреплю, что у меня вышло на данный момент. Буду читать, смотреть. Мне лично кажется, что нужно как-то иначе текстуру натягивать, нежели на куб, но я почитаю и попробую. Попытаюсь порисовать еще. Спасибо)
Миниатюры
OpenTK загрузка текстур   OpenTK загрузка текстур  
0
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
17.12.2019, 14:05 6
Цитата Сообщение от SnufkinJox Посмотреть сообщение
нужно как-то иначе текстуру натягивать, нежели на куб,
Вы ответы вообще читаете?
Цитата Сообщение от 8Observer8 Посмотреть сообщение
делать UV-развёртку.
Гуглите что это.

Деревья обычно так не делают. Очень много полигонов кушают. Гуглите кто такой billboard tree.
FPS контролируете? Я думаю для симулятора важней всего FPS и реалистичность физики полета: разгон, торможение с инерцией. Физика поведения дрона на первом месте. Красивости и текстуры на втором плане. Почему бы вообще не оставить такую мультяшную графику без текстур? Всеравно деревья конусы, такие облака и земля… такой стиль без текстур подходит по дизайну. По идее так будет даже больше FPS. Скорей всего при полете на высоте будут лаги т.к. нужно будет оптимизировать уровень деталей от высоты и т.д. Тут наверно лучше брать игровой движок а не пилить с нуля. И у вас вопрос не загрузки текстур а скорей импорта готовой 3д модели.
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
17.12.2019, 15:28 7
Цитата Сообщение от SnufkinJox Посмотреть сообщение
Я так поняла, что это начало мануала на OpenGL для чистых сей https://learnopengl.com .
Тот туториал, что я выше скинул, это как раз перевод данного туториала из C++ на C#. Здесь если посмотреть: https://opentk.net/learn/index.html Написано следующее:

Welcome to LearnOpenTK, your home for getting started with OpenTK. We've ported the tutorials made by the great guys over at LearnOpenGL over to C# so that it's easier for you to see how OpenTK works.

These tutorials are derived from LearnOpenGL, all of the code has been translated to C# and substantial portions of the original text, images, textures, and/or other assets may have been used in these tutorials. LearnOpenGL and LearnOpenTK are licensed under Creative Commons Attribution 4.0 International.

Цитата Сообщение от SnufkinJox Посмотреть сообщение
Правда, у меня есть сомнения определенные, что у меня объект не центрирован.
То что не центрирован - это нестрашно. Нужно следить, чтобы к объекту был применён Scale (Object -> Apply -> Scale)

Цитата Сообщение от SnufkinJox Посмотреть сообщение
но я почитаю и попробую. Попытаюсь порисовать еще
Практика, практика и ещё раз практика.
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
18.12.2019, 21:17 8
SnufkinJox, попробуйте сделать новый маленький проект, где будет два объекта: куб с текстурой и что-то посложнее, что вы загружаете из obj-файла. Покажите скриншот, что получается и этот маленький проект запакуйте в архив и прикрепите к сообщению. Когда что-то повторяешь в отдельном маленьком проекте, то лучше понимать начинаешь. А то у вас, наверное, огромный проект сейчас и уже трудно в нём что-либо понимать. Может вы в процессе написания такого маленького проекта с кубиком и объектом (дроном, например) вы сами найдёте какие-то ошибки.
0
17 / 2 / 1
Регистрация: 12.11.2021
Сообщений: 27
21.11.2021, 22:58 9
Я работаю с 2d графикой в данный момент. Если вам нужна загрузка текстур. У меня тоже была эта "белая" проблема. Зайдите ко мне в профиль. Там у меня есть тема. Зайдите, прокрутите в самый низ. Последний ответ. Там будет порядок действий для C# и OpenTK.
0
1824 / 732 / 99
Регистрация: 01.10.2012
Сообщений: 3,743
22.11.2021, 08:32 10
Цитата Сообщение от SnufkinJox Посмотреть сообщение
Как правильно оформляются текстуры на сложные объекты. Вот как сейчас существует, как я понимаю, программа воспринимает каждый объект как куб, и пытается натянуть на него текстуры по всем сторонам.
Ключевое слово "UV координаты", как они построены - так и будет натягиваться. Формально UV - координаты сохраненные в модели для каждого вертекса (хотя есть и др способы хранения). Если модель не имеет UV - рассчитывать не на что, максимум наложить текстуру на плоскость. Само по себе "наличие" UV еще ничего не гарантирует, обычно подразумевается что UV разумны. Также часто подразумевается что UV - нормированные координаты плоского имеджа, т.е. числа x и y от 0 до 1. Хотя это всего лишь предположение, в общем случае используются 3 координаты (UVW) которые могут иметь любые значения.

Чтобы понять как ляжет текстура - найдите любой редактор UV (напр упоминавшийся blender), загрузите туда Вашу модель и посиотрите UV (они могут выглядеть очень необычно/фантастично). Вообще какое-то (полноценное) 3D приложение должно быть всегда под рукой
0
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 2
03.05.2022, 12:36 11
8Observer8, 8Observer8, Здравствуйте! Можете помочь с небольшим проектом по opentk? Необходимо написать скринсейвер и расставить свет. Как можно с вами связаться?
Спасибо!
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
03.05.2022, 12:54 12
Цитата Сообщение от alex12095 Посмотреть сообщение
8Observer8, 8Observer8, Здравствуйте! Можете помочь с небольшим проектом по opentk? Необходимо написать скринсейвер и расставить свет. Как можно с вами связаться?
Спасибо!
Написать скринсейвер на opentk на с++ или c#
1
03.05.2022, 12:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2022, 12:54
Помогаю со студенческими работами здесь

Загрузка текстур в OpenGL
Здравствуйте. У меня вот такая проблема: Мне нужно загрузить текстуру. Раньше пользовался для...

Загрузка текстур OpenGL
Прошу помощи.В программе с библиотеками OpenGL загружаются картинки PNG размером только 32 X...

Загрузка не квадратных текстур
Доброе время суток. Проблема заключается в том, что OpenGL как известно, отказывается адекватно...

Загрузка текстур в Java
Необходимо загрузить некую текстуру. С горем пополам конвертировал картинку в массив байт, но всё...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru