Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> glCopyTexImage2D выдает ошибку 1281(GL_INVALID_VAL 
:(
    Опции темы
5kill
Дата 26.5.2011, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 13.5.2011

Репутация: нет
Всего: нет



Добрый день.

Реализовал алгоритм Shadow Mapping'а, как мне казалось, успешно.
Сделал все на работе, запустил, посмотрел, все, вроде, хорошо. Но принес домой, запустил на ноуте - полезли ошибки.

Ошибка возникает в функции построения катры теней при вызове:

Код

Gl.glCopyTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_DEPTH_COMPONENT
                                , 0, 0, shadowSize, shadowSize, 0);



После длительного гугления, не нашел ни чего подходящего, решил попробовать запустить на стационарной машине, и, о чудо - все работает как часы!

Еще одно интересное наблюдение сцена даже с выключенными тенями на ноуте выглядит криво.

На ноуте:
user posted image
На стационарных машинах:
user posted image

Нормальной видяхе на ноуте нету.
Отсюда вопрос: что такого использует эта, и, видимо, не только эта, команда что так зависит от конфигурации железа?
И как это можно обойти, если можно?
PM MAIL   Вверх
Vetos
Дата 26.5.2011, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 4.4.2005

Репутация: 3
Всего: 4



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


--------------------
Строить нужно так, чтоб никто не сломал!
А ломать, чтоб никто не знал 8) :ne_huliganit 
PM MAIL ICQ   Вверх
5kill
Дата 27.5.2011, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 13.5.2011

Репутация: нет
Всего: нет



На ноуте Intel 945GM, который, если верить, Эвересту, поддерживает только 1.4.0 и на 66% 1.5.0
На стационарном HD4850, там все вплоть до 3.3 поддерживается.
Вроде как 1.4 для всего что я использую должно хватать...

Вот код инициализации:
Код

            Glut.glutInit();

            Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE);
            Gl.glClearColor(255, 255, 255, 1);

            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, 1000);

            Gl.glMatrixMode(Gl.GL_MODELVIEW);
            Gl.glLoadIdentity();

            Gl.glEnable(Gl.GL_COLOR_MATERIAL);
            Gl.glEnable(Gl.GL_DEPTH_TEST);
            Gl.glDepthFunc(Gl.GL_LEQUAL);
            Gl.glEnable(Gl.GL_LIGHTING);
            Gl.glEnable(Gl.GL_LIGHT0);
            Gl.glShadeModel(Gl.GL_SMOOTH);
            Gl.glEnable(Gl.GL_NORMALIZE);
            Gl.glPolygonOffset(offsetFactor, 0f);

            Gl.glGenTextures(1, out shadowTextureID);
            Gl.glBindTexture(Gl.GL_TEXTURE_2D, shadowTextureID);
            Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_CLAMP);
            Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_CLAMP);

            Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_DEPTH_TEXTURE_MODE, Gl.GL_INTENSITY);

            if (isAmbientShadowAvailable)
            {
                Gl.glTexParameterf(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_COMPARE_FAIL_VALUE_ARB, 0.5f);
            }

            Gl.glTexGeni(Gl.GL_S, Gl.GL_TEXTURE_GEN_MODE, Gl.GL_EYE_LINEAR);
            Gl.glTexGeni(Gl.GL_T, Gl.GL_TEXTURE_GEN_MODE, Gl.GL_EYE_LINEAR);
            Gl.glTexGeni(Gl.GL_R, Gl.GL_TEXTURE_GEN_MODE, Gl.GL_EYE_LINEAR);
            Gl.glTexGeni(Gl.GL_Q, Gl.GL_TEXTURE_GEN_MODE, Gl.GL_EYE_LINEAR);


Генерация карты теней:
Код

            Gl.glMatrixMode(Gl.GL_PROJECTION);
            Gl.glLoadIdentity();
 
            Glu.gluPerspective(60, (float)AnT.Width / (float)AnT.Height, nearPlane, nearPlane + 300f);
            Gl.glGetFloatv(Gl.GL_PROJECTION_MATRIX, lightProjection);

            Gl.glMatrixMode(Gl.GL_MODELVIEW);
            Gl.glLoadIdentity();
            Glu.gluLookAt(lightPos[0], lightPos[1], lightPos[2]
                        , cameraSpotPos[0], cameraSpotPos[1], cameraSpotPos[2]
                        , 0, 1, 0);
            Gl.glGetFloatv(Gl.GL_MODELVIEW_MATRIX, lightModelView);
            Gl.glViewport(0, 0, shadowSize, shadowSize);

            Gl.glClear(Gl.GL_DEPTH_BUFFER_BIT);

            Gl.glShadeModel(Gl.GL_FLAT);
            Gl.glDisable(Gl.GL_LIGHTING);
            Gl.glDisable(Gl.GL_COLOR_MATERIAL);
            Gl.glDisable(Gl.GL_NORMALIZE);
            Gl.glColorMask(0, 0, 0, 0);
            Gl.glEnable(Gl.GL_POLYGON_OFFSET_FILL);

            drawModels();

            //Вот после этого возникает ошибка
            Gl.glCopyTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_DEPTH_COMPONENT
                                , 0, 0, shadowSize, shadowSize, 0);

            Gl.glShadeModel(Gl.GL_SMOOTH);
            Gl.glEnable(Gl.GL_LIGHTING);
            Gl.glEnable(Gl.GL_COLOR_MATERIAL);
            Gl.glEnable(Gl.GL_NORMALIZE);
            Gl.glColorMask(1, 1, 1, 1);
            Gl.glDisable(Gl.GL_POLYGON_OFFSET_FILL);

            Gl.glMatrixMode(Gl.GL_TEXTURE);
            Gl.glLoadIdentity();
            Gl.glTranslated(0.5, 0.5, 0.5);
            Gl.glScaled(0.5, 0.5, 0.5);
            Gl.glMultMatrixf(lightProjection);
            Gl.glMultMatrixf(lightModelView);


Собственно рендеринг сцены:
Код

            if (!isDrawingShadows)
            {
                Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_AMBIENT, highAmbient);
                Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_DIFFUSE, highDiffuse);

                Gl.glPushMatrix();
                drawModels();
                Gl.glPopMatrix();
            }
            else
            {
                float[] sPlane = new float[] { 1, 0, 0, 0 };
                float[] tPlane = new float[] { 0, 1, 0, 0 };
                float[] rPlane = new float[] { 0, 0, 1, 0 };
                float[] qPlane = new float[] { 0, 0, 0, 1 };
                if (!isAmbientShadowAvailable)
                { 

                    Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_AMBIENT, lowAmbient);
                    Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_DIFFUSE, lowDiffuse);

                    Gl.glPushMatrix();
                    drawModels();
                    Gl.glPopMatrix();

                    Gl.glAlphaFunc(Gl.GL_GREATER, 0.9f);
                    Gl.glEnable(Gl.GL_ALPHA_TEST);
                }
                Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_AMBIENT, highAmbient);
                Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_DIFFUSE, highDiffuse);

                Gl.glEnable(Gl.GL_TEXTURE_2D);
                Gl.glTexEnvi(Gl.GL_TEXTURE_ENV, Gl.GL_TEXTURE_ENV_MODE
                            , Gl.GL_MODULATE);
                Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_COMPARE_MODE
                    , Gl.GL_COMPARE_R_TO_TEXTURE);
                Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_NEAREST);
                Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_NEAREST);

                Gl.glEnable(Gl.GL_TEXTURE_GEN_S);
                Gl.glEnable(Gl.GL_TEXTURE_GEN_T);
                Gl.glEnable(Gl.GL_TEXTURE_GEN_R);
                Gl.glEnable(Gl.GL_TEXTURE_GEN_Q);
                Gl.glTexGenfv(Gl.GL_S, Gl.GL_EYE_PLANE, sPlane);
                Gl.glTexGenfv(Gl.GL_T, Gl.GL_EYE_PLANE, tPlane);
                Gl.glTexGenfv(Gl.GL_R, Gl.GL_EYE_PLANE, rPlane);
                Gl.glTexGenfv(Gl.GL_Q, Gl.GL_EYE_PLANE, qPlane);

                drawModels();

                Gl.glDisable(Gl.GL_ALPHA_TEST);
                Gl.glDisable(Gl.GL_TEXTURE_2D);
                Gl.glDisable(Gl.GL_TEXTURE_GEN_S);
                Gl.glDisable(Gl.GL_TEXTURE_GEN_T);
                Gl.glDisable(Gl.GL_TEXTURE_GEN_R);
                Gl.glDisable(Gl.GL_TEXTURE_GEN_Q);


В коде опущены некоторые стандартные вещи вроде настройки окна вывода, взгляда камеры и т.п. которые ну никак не могут влиять на такие вещи...

isAmbientShadowAvailable установлено в false.

Что именно не поддерживается версией 1.4 ума не приложу...
PM MAIL   Вверх
Vetos
Дата 27.5.2011, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 4.4.2005

Репутация: 3
Всего: 4



первая ссылка в гугле на glCopyTexImage2D ссылается на opengl.org. Вот немного интересного чо нашел

Цитата

glCopyTexImage2D is available only if the GL version is 1.1 or greater.
GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, and GL_DEPTH_COMPONENT32 are available only if the GL version is 1.4 or greater.

Errors:

GL_INVALID_VALUE is generated if level is less than 0. 

GL_INVALID_VALUE may be generated if level is greater than log2 ⁢ max , where max is the returned value of GL_MAX_TEXTURE_SIZE. 

GL_INVALID_VALUE is generated if width is less than 0 or greater than 2 + GL_MAX_TEXTURE_SIZE. 

GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width or depth cannot be represented as k2 + 2 border
  for some integer k. 

GL_INVALID_VALUE is generated if border is not 0 or 1. 

GL_INVALID_VALUE is generated if internalformat is not an accepted format.


Значит дело не в версии ОГЛа, ошибка возникает из-за какогото из этих случаев.
Вообщем вот тебе ссыла, там красивее выглядит, проверь, не получается ли у тебя какаято из этих ситуаций

Все, все, все, я вкупил в чем дело, твои shadowSize слишком велики для этой видюхи. Т.е. тебе вначале нужно сделать чтот типо этого:

Код

int maxTexSize = Gl.glGetInteger(Gl.GL_MAX_TEXTURE_SIZE);
if( shadowSize > maxTexSize )shadowSize = maxTexSize;
Gl.glCopyTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_DEPTH_COMPONENT, 0, 0, shadowSize, shadowSize, 0);

Я думаю после етих изменений все будет работать))))

Если заработает, можешь попробывать увеличить shadowSize еще на 2)

Это сообщение отредактировал(а) Vetos - 27.5.2011, 17:39


--------------------
Строить нужно так, чтоб никто не сломал!
А ломать, чтоб никто не знал 8) :ne_huliganit 
PM MAIL ICQ   Вверх
5kill
Дата 28.5.2011, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 13.5.2011

Репутация: нет
Всего: нет



Дело точно не в размере текстур.
Максимальный размер - 3379, у меня 600х600.

В описании glCopyTexImage2D написано также что эти цифры д.б. 2^n+2*border, на что я не обращал внимания, поскольку все работало и без этого...
Но на ноуте почему-то не хочет! Ставлю 512 или 1024 - все нормально(если не учитывать, что при 1024 текстура неверно накладывается на сцену), по крайней мере ошибки нет, а тени какие ни какие но есть.

При этом странный эффект "двойного освещения" остается даже когда нету ошибок.
Особенно видно на кубе.
user posted image
PM MAIL   Вверх
Vetos
Дата 28.5.2011, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 4.4.2005

Репутация: 3
Всего: 4



Гг, ну насчет артефактов ничего тебе нескажу, Intel есть Intel, что с него выжмешь smile 


--------------------
Строить нужно так, чтоб никто не сломал!
А ломать, чтоб никто не знал 8) :ne_huliganit 
PM MAIL ICQ   Вверх
5kill
Дата 30.5.2011, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 13.5.2011

Репутация: нет
Всего: нет



Ладно с ними с артефактами...
Не понимаю я все-таки и саму текстуру карты теней...
Размер окна вывода в экранных координатах - 600х600.
Пускай мы берем текстуры как 2^n т.е. для моего ноута(максимальный размер текстуры 3379х3379, но максимальный ViewPort 2048x2048) мы можем взять 512х512 1024х1024 или 2048х2048.
Все эти значения действительно отрабатывают, но, 512 дает достаточно "квадратные" тени, а дальше - хуже...

Вот так выглядят карта теней и соответствующая ей сцена с тенями при размере текстуры 1024х1024
user posted image
user posted image

А вот так при 2048х2048
user posted image
user posted image

И все бы ничего если бы дело ограничилось моим неблагополучным ноутом, но на стационарной машине дела, хоть и лучше, но не принципиально...
Слева 1024, справа 2048
user posted image
user posted image


Что так влияет на некорректное отображение текстуры?
PM MAIL   Вверх
Vetos
Дата 30.5.2011, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 4.4.2005

Репутация: 3
Всего: 4



5kill, извини, так ничем не помогу. С# не юзал как и Tao framework, вот еслиб на чистом С++ и OGL, возможно это сам фреймворк дает такие бока?


--------------------
Строить нужно так, чтоб никто не сломал!
А ломать, чтоб никто не знал 8) :ne_huliganit 
PM MAIL ICQ   Вверх
5kill
Дата 31.5.2011, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 13.5.2011

Репутация: нет
Всего: нет



TAO тут врядли при чем, по сути я пользуюсь только стандартными методами.
Поэкспериментировал с параметрами(на машине, которая переваривает любые значения shadowSize);
Когда shadowSize = размеру viewport'a все нормально, когда shadowSize становится больше - он, почему-то обрезается по размеру viewport'a, хотя при отрисовке карты теней я устанавливаю размер viewporta'a какраз равным shadowSize.
И потом, при отображении на сцену получается только квадратная область с относительным размером viewport'a относительно shadowSize получается освещенной.

Конкретнее...
Вот это происходит при проецировании сцены в карту теней:
Код

            //Устанавливаем область обзора(мало на что влияет, кроме очевидных вещей)
            Glu.gluPerspective(viewAngle, 2, nearPane, farPane);
...
            Glu.gluLookAt(lightPos[0], lightPos[1], lightPos[2]
                        , 0, 0, 0
                        , 0, 1, 0);
            Gl.glGetFloatv(Gl.GL_MODELVIEW_MATRIX, lightModelView);
            //Задаем такой размер viewport'a чтобы туда поместилась вся карта теней, принудительное задание здесь
            //реальных размеров окна вывода не дает хороших результатов
            Gl.glViewport(0, 0, shadowSize, shadowSize);
...
            //Ну и копируем в текстуру...
            Gl.glCopyTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_DEPTH_COMPONENT
                                , 0, 0, shadowSize, shadowSize, 0);


Почему при этом в карте "нормально" заполняется только участок размером с реальное окно вывода... 
PM MAIL   Вверх
Vetos
Дата 31.5.2011, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 4.4.2005

Репутация: 3
Всего: 4



1) Попробуй вначале задать вьюпорт, а потом уже перспективу и положение источника освещения, хотя в версии OGL 3.3 карта строится при ортогональной проэкции а не при перспективной, возможны бока и отсюда.
2) Попробуй рисовать детали с glCullFace(GL_FRONT);только вначале glEnable(GL_CULL_FACE).
3)
Код

            Gl.glMatrixMode(Gl.GL_TEXTURE);
            Gl.glLoadIdentity();
            Gl.glTranslated(0.5, 0.5, 0.5);
            Gl.glScaled(0.5, 0.5, 0.5);
            Gl.glMultMatrixf(lightProjection);
            Gl.glMultMatrixf(lightModelView);

я так понял транслятом и скалей)) ты подгоняешь координаты из -1 1 к текстурным от 0 до 1?
Жаль немогу поиграть с твоим исходником, тут каждая команда может влиять на результат, с версией ОГЛ 3.3 все работает через шейдера, так вот там матрица смещения bias получается так:
Код

bias(
                0.5f, 0.0f, 0.0f, 0.5f,
                0.0f, 0.5f, 0.0f, 0.5f,
                0.0f, 0.0f, 0.5f, 0.5f,
                0.0f, 0.0f, 0.0f, 1.0f
        );

Скорей всего твои трансляты и скали подходят только в часном случае когда вьюпорт совпадает с размерами реального окна.
Попробуй сделать через матрицу, или же попробуй смени glTranslated и glScaled на glTranslatef и glScalef, и соответственно
Код

            Gl.glTranslatef(0.5f, 0.5f, 0.5f);
            Gl.glScalef(0.5f, 0.5f, 0.5f);


хотя я незнаю как там на C#, может и не надо добавлять f в конце дробных.

Это сообщение отредактировал(а) Vetos - 31.5.2011, 13:21


--------------------
Строить нужно так, чтоб никто не сломал!
А ломать, чтоб никто не знал 8) :ne_huliganit 
PM MAIL ICQ   Вверх
5kill
Дата 31.5.2011, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 13.5.2011

Репутация: нет
Всего: нет



1)Никакого эффекта это не дало
2)Пока не пробовал, но, судя по описанию, это не повлияет ни на что...
3)2 часа экпериментов показали возможность приведения картины к "почти нормальной", заменой фиксированных значений на зависящие от соотношения shadowSize и размеров окна:
Код

Gl.glTranslated(0.5 * (AnT.Width) / shadowSize, 0.5 * AnT.Height / shadowSize, 0.5);
Gl.glScaled(0.5 * (AnT.Width) / shadowSize, 0.5 * AnT.Height / shadowSize, 0.5);


это работает только при установке даже для карты теней
Код

Gl.glViewport(0, 0, AnT.Width, AnT.Height);


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

Есть идея применить обратные преобразования перед тем как записывать текстуру, вместо того чтобы потом растягивать... вечером попробую, отпишусь.
PM MAIL   Вверх
Vetos
Дата 31.5.2011, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 4.4.2005

Репутация: 3
Всего: 4



Цитата(5kill @  31.5.2011,  16:02 Найти цитируемый пост)
2)Пока не пробовал, но, судя по описанию, это не повлияет ни на что...

а зря, в уроках OGL 3 об этом пишут как 
Цитата

Во-вторых, рендер внутренних граней объекта помогает избежать некоторых артефактов при использовании теневой карты. Однако данный способ подходит только для замкнутых выпуклых объектов, именно такие мы и используем в этом уроке.

а у тебя на сцене как раз такие объекты smile правда площадку под объектами отрисовывать в карту не стоит. Я не говорю что это всему поможет но попробовать стоит 100%
Видишь, я не работал с теневой картой в старой OGL - могу помочь только догадками, поэтому не суди строго, я всего лишь ПЫТАЮСЬ smile  

Могу поставить C#, и если ты скинешь исходник и все что надо к твоему проекту, шансов разобраться будет намного больше smile Правда с C# не работал,но думаю разобраться в исходнике труда не составит smile  

Это сообщение отредактировал(а) Vetos - 31.5.2011, 19:10


--------------------
Строить нужно так, чтоб никто не сломал!
А ломать, чтоб никто не знал 8) :ne_huliganit 
PM MAIL ICQ   Вверх
5kill
Дата 1.6.2011, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 13.5.2011

Репутация: нет
Всего: нет



Спасибо большое за помощь!

К сожалению пока результаты не обнадеживающие(

GlCullFace не помогло, только еще и стенки некоторые не отрисовываются, видимо из-за последовательности указания вершин полигона он считает их повернутыми к нам задом))

Отрисовка только объектов в карту теней тоже не спасает. Основная проблема в том что почему-то задействуется только часть текстуры размером 600х600. Т.е. увеличение размера текстуры приводит только к появлению черной кромки по правому и верхнему краю.

Могу скинуть на почту исходник.
PM MAIL   Вверх
Vetos
Дата 1.6.2011, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 4.4.2005

Репутация: 3
Всего: 4



Архив к сожалению битый, можешь еще раз скинуть, только на яндекс - [email protected]

Это сообщение отредактировал(а) Vetos - 1.6.2011, 16:43


--------------------
Строить нужно так, чтоб никто не сломал!
А ломать, чтоб никто не знал 8) :ne_huliganit 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.1396 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.