Вопрос по текстурам

Возникла такая проблема с текстурами
/*http://esate.ru, vetosnal*/

DialogResult res = openFileDialog1.ShowDialog();
        
        // создаем изображение с индификатором imageId
        Il.ilGenImages(1, out imageId);
        // делаем изображение текущим
        Il.ilBindImage(imageId);
               

        //загрузка изображения
        Il.ilLoadImage("123.jpg");

если убираю строку с открытием диалога файла, которая вообщем то ничего не должна делать, то текстура грузится не хочет, хотя так прекрасно грузится.
Как выйти из этого положения?
0      957        14.05.2011        3

0 
15.05.2011 00:00:00
больше кода покажи
0 
15.05.2011 00:00:00
private void Form1_Load(object sender, EventArgs e)
{
// инициализация бибилиотеки glut
Glut.glutInit();
// инициализация режима экрана
Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE);

// инициализация библиотеки openIL
Il.ilInit();
Il.ilEnable(Il.IL_ORIGIN_SET);

// установка цвета очистки экрана (RGBA)
Gl.glClearColor(0.5, 0.5, 0.5, 1);

// установка порта вывода
Gl.glViewport(0, 0, AnT.Width, AnT.Height);


// активация проекционной матрицы
Gl.glMatrixMode(Gl.GL_PROJECTION);
// очистка матрицы
Gl.glLoadIdentity();

// установка перспективы
Glu.gluPerspective(30, AnT.Width / AnT.Height, 1, 100);

// установка объектно-видовой матрицы
Gl.glMatrixMode(Gl.GL_MODELVIEW);
Gl.glLoadIdentity();

// начальные настройки OpenGL
Gl.glEnable(Gl.GL_DEPTH_TEST);
Gl.glEnable(Gl.GL_LIGHTING);
Gl.glEnable(Gl.GL_LIGHT0);




}

private void button1_Click(object sender, EventArgs e)
{
DialogResult res = openFileDialog1.ShowDialog();

// создаем изображение с индификатором imageId
Il.ilGenImages(1, out imageId);
// делаем изображение текущим
Il.ilBindImage(imageId);

// загрузка изображения


// пробуем загрузить изображение
Il.ilLoadImage("123.jpg");

// если загрузка прошла успешно
// сохраняем размеры изображения
int width = Il.ilGetInteger(Il.IL_IMAGE_WIDTH);
int height = Il.ilGetInteger(Il.IL_IMAGE_HEIGHT);

// определяем число бит на пиксель
int bitspp = Il.ilGetInteger(Il.IL_IMAGE_BITS_PER_PIXEL);

switch (bitspp) // в зависимости оп полученного результата
{
// создаем текстуру используя режим GL_RGB или GL_RGBA
case 24:
mGlTextureObject = MakeGlTexture(Gl.GL_RGB, Il.ilGetData(), width, height);
break;
case 32:
mGlTextureObject = MakeGlTexture(Gl.GL_RGBA, Il.ilGetData(), width, height);
break;
}

// активируем флаг, сигнализирующий загрузку текстуры
textureIsLoad = true;
// очищаем память
Il.ilDeleteImages(1, ref imageId);

AnT.Focus();
// активация таймера
RenderTimer.Start();


}

private static uint MakeGlTexture(int Format, IntPtr pixels, int w, int h)
{
// индетефекатор текстурного объекта
uint texObject;

// генерируем текстурный объект
Gl.glGenTextures(1, out texObject);

// устанавливаем режим упаковки пикселей
Gl.glPixelStorei(Gl.GL_UNPACK_ALIGNMENT, 1);

// создаем привязку к только что созданной текстуре
Gl.glBindTexture(Gl.GL_TEXTURE_2D, texObject);

// устанавливаем режим фильтрации и повторения текстуры
Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_REPEAT);
Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_REPEAT);
Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR);
Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR);
Gl.glTexEnvf(Gl.GL_TEXTURE_ENV, Gl.GL_TEXTURE_ENV_MODE, Gl.GL_REPLACE);

// создаем RGB или RGBA текстуру
switch (Format)
{
case Gl.GL_RGB:
Gl.glTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_RGB, w, h, 0, Gl.GL_RGB, Gl.GL_UNSIGNED_BYTE, pixels);
break;

case Gl.GL_RGBA:
Gl.glTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_RGBA, w, h, 0, Gl.GL_RGBA, Gl.GL_UNSIGNED_BYTE, pixels);
break;
}

// возвращаем индетефекатор текстурного объекта

return texObject;
}

Вот инициализация и загрузка
В принципе практически полностью взято из урока, кроме основной программы конечно :)
в уроках текстура грузится выбором файла, мне надо напрямую грузить не выбирая файл
0 
15.05.2011 00:00:00
И если несложно еще один вопрос

private void AnT_KeyPress(object sender, KeyPressEventArgs e)
{
if (boom == false&tur==false)
{
if (e.KeyChar == (int)Keys.Q)
{
//что то делаем
}

}
}
если заместо клавиши «Q» вставляю клавишу стрелки (влево, вправо) то вместо «что то делаем» происходит передача фокуса другому объекту окна, в моем случае кнопке. Что надо сделать чтоб было не передача фокуса а именно то что мне надо?
^
Регистрация
Регистрируясь, вы принимаете правила сайта. Если вы не получили код подтв. регистрации - не забудьте проверить папку спам.
Логин*
Email*
Пароль*
Подтверждение пароля*
 
Логин*
Код*
 
×
Восстановление пароля
Пожалуйста, заполните поля, после чего вы получите код подтверждения на ваш Email. Если код не пришел в течении нескольких минут - проверьте папку спам.
Логин

или Email
Логин*
Код подтверждения*
Новый пароль*
Подтверждение пароля*
×
Авторизация
  • Используйте вашу учетную запись на Facebook.com для входа на сайт.
  • Используйте вашу учетную запись VKontakte для входа на сайт.
  • Используйте вашу учетную запись Google для входа на сайт.
Авторизуйтесь с помощью соц. сети или с помощью аккаунта на сайте:
×