Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > OpenGL проблема инициализации


Автор: Zastra 9.12.2010, 17:56
Пишу прогу, которая рисует сферу(шар) по этой http://www.esate.ru/page/initsializatsiya-opengl-v-c-sharp.
Но при запуске выдаёт ошибку "Не удается загрузить DLL "freeglut.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)"
на строке 
Код

Glut.glutWireSphere(2, 32, 32);

Конечно всё подключено.

Что делать?
Помогите пожалуйста, очень нужно.

Вот весь код программы:

Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Tao.OpenGl; 
using Tao.FreeGlut;
using Tao.Platform.Windows;

namespace OpenGl_1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            AnT.InitializeContexts();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // инициализация Glut 
            Glut.glutInit();
            Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH);

            // очитка окна 
            Gl.glClearColor(255, 255, 255, 1);

            // установка порта вывода в соотвествии с размерами элемента anT 
            Gl.glViewport(0, 0, AnT.Width, AnT.Height);


            // настройка проекции 
            Gl.glMatrixMode(Gl.GL_PROJECTION);
            Gl.glLoadIdentity();
            Glu.gluPerspective(45, (float)AnT.Width / (float)AnT.Height, 0.1, 200);
            Gl.glMatrixMode(Gl.GL_MODELVIEW);
            Gl.glLoadIdentity();

            // настройка параметров OpenGL для визуализации 
            Gl.glEnable(Gl.GL_DEPTH_TEST);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);

            Gl.glLoadIdentity();
            Gl.glColor3f(1.0f, 0, 0);

            Gl.glPushMatrix();
            Gl.glTranslated(0, 0, -6);
            Gl.glRotated(45, 1, 1, 0);

            // рисуем сферу с помощью библиотеки FreeGLUT 
            Glut.glutWireSphere(2, 32, 32);

            Gl.glPopMatrix();
            Gl.glFlush();
            AnT.Invalidate();

        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}




Автор: neutrino 9.12.2010, 17:58
Читать маны Тао. Видимо что-то изменили со времени написания этого туториала. И, кстати, ссылка битая.

Автор: Zastra 9.12.2010, 18:26
neutrino, поставил нормальную ссылку

Автор: Ky7m 9.12.2010, 21:51
Пугают всегда такие штуки:

Код

Скопируйте файлы из директории
C:\Programm Files\TaoFramework\lib 
в папку 
C:\Windows\System32

Автор: reborn 11.12.2010, 19:42
Zastra, а на зачем моно? либы opengl и так поставляются в Винду уже с давних времен, кто отменил вызывать методы из данных либ и не смотреть в сторону Tao?

DllImport, unsafe, указатели и поехали  smile 

Автор: neutrino 11.12.2010, 19:48
Цитата(reborn @  11.12.2010,  18:42 Найти цитируемый пост)
DllImport, unsafe, указатели и поехали

Собственно Тао и есть эти DllImport, UnsafeHandle, ... или ваше хобби - изобретать велосипед? 

Автор: reborn 11.12.2010, 20:08
Цитата(neutrino @  11.12.2010,  19:48 Найти цитируемый пост)
Собственно Тао и есть эти DllImport, UnsafeHandle, ... или ваше хобби - изобретать велосипед? 

Это ваше хобби, быть затычкой в каждой дырке?

PS
А юзать Tao непонтово... в целом, как и C# с OpenGL сдружить чисто кто занимался, как Вы сказали велосипедо-строением. Все равно Tao никогда не будет конвертируемым, по сравнению с нативной работой с opengl.

Автор: neutrino 12.12.2010, 09:36
reborn, Многоуважаемый, коль вы заинтересованы хоть сколько времени пользоваться нашим форумом, вам придется поменять вашу манеру писАть ответы. Поверьте, если вы и дальше будете писать в такой экспрессивной форме, то и понижение репутации и предупреждения и бан не заставят себя долго ждать. На нашем форуме много сил и времени тратится на поддержание дружественной обстановки.

Цитата(reborn @  11.12.2010,  19:08 Найти цитируемый пост)
А юзать Tao непонтово... 

Что значит непонтово?

Цитата(reborn @  11.12.2010,  19:08 Найти цитируемый пост)
 C# с OpenGL сдружить чисто кто занимался, как Вы сказали велосипедо-строением. 

Есть несколько фреймворков, которые собственно и занимаются переводом процедурно-ориентированного языка OpenGL в объектно-ориентированную модель, будь то на C++, C# или Java. В конечном счете многие программисты пишущие на своем родном языке хотели бы иметь возможность использовать OpenGL и Tao - лишь один из способов этого достичь. Здесь никакого велосипеда нет.


Цитата(reborn @  11.12.2010,  19:08 Найти цитируемый пост)
Все равно Tao никогда не будет конвертируемым, по сравнению с нативной работой с opengl.

Этот аргумент непонятно к чему. Если Tao написан на C# и пользуются им из C#, то о каком конвертировании речь? В Моно? http://www.mono-project.com/Tao

Автор: Zastra 12.12.2010, 14:42
Вы не могли бы рассказать мне как работать с OpenGL на C#. Как правильно поключить, чтобы работало, или что я правильно или неправильно сделал, пользуясь вышеуказанным руководством (ссылкой)?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)