Войти
ПрограммированиеФорумГрафика

Не работает mipmapping (glCompressedTexImage2D + android)

#0
13:25, 2 сен. 2017

привет. что не так.

компрессия: RGBA_ASTC,ETC1_RGB8
исходник - непожатая картинка!!!!!!!!! - да - я жму налету в то что держит железо!
без мипов - работает

с мипами делаю следующее:

1)
image 512*512
level=0
glCompressedTexImage2D
даунсайз в 2раза

2)
image 256*256
level=1
glCompressedTexImage2D
даунсайз в 2раза

3)
image 128*128
level=2
glCompressedTexImage2D
даунсайз в 2раза

4)
image 64*64
level=3
glCompressedTexImage2D
прерывание

=============
glTexParameteri(target, GL_TEXTURE_WRAP_S, GL_REPEAT);
      glTexParameteri(target, GL_TEXTURE_WRAP_T, GL_REPEAT);

glTexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);

==============
в резалте - всё черное

если что - мобила sgs7


#1
15:46, 2 сен. 2017

попробуй сделать еще дополнительные мипмапы вплоть до image 1*1

#2
17:49, 2 сен. 2017

Deamon
не помогло

#3
10:41, 3 сен. 2017

Android вроде поддерживает glGenerateMipmap. А так без кода сложно сказать, может у тебя рассинхрон при рендеринге происходит.

#4
10:59, 3 сен. 2017

Dimich
Эта фция вроде только для несжатых картинок

#5
11:07, 3 сен. 2017

Действительно.

#6
15:08, 3 сен. 2017

The Andreyp
> Эта фция вроде только для несжатых картинок

можно ссылочку ?

#7
15:33, 3 сен. 2017

innuendo
https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGe… ateMipmap.xml

GL_INVALID_OPERATION is generated if the zero level array is stored in a compressed internal format.
#8
23:18, 3 сен. 2017

innuendo
> можно ссылочку ?
Лол, иннуендо просит ссылочку на очевидную вещь.

#9
10:33, 4 сен. 2017

MrShoor
> Лол, иннуендо просит ссылочку на очевидную вещь

Да, кто просил ссылочку на то как ява работает с памятью ? Это уровень студента 3 курса :)

#10
13:15, 4 сен. 2017

The Andreyp

попробуй просто не выпендриваться и для начала построить мипы для несжатой текстуры, чтобы убедиться, что шейдер и вся обвязка точно работают. или ты уже попробовал и не работает конкретно со сжатым форматом? что говорит textureLod(), если в шейдере читать вручную из мип-уровней, которые точно загружены?

PS
я сперва думал, что автор треда — Andrey и ещё удивился, чего это к нему иннуэндо не пристаёт. потом понял, что это другой чувак, ему неинтересный.

#11
14:17, 4 сен. 2017

Suslik

Не пробовал пока так

#12
14:27, 4 сен. 2017

ЕМНИП там надо указывать соответствующий  TexParameteri для числа мипов, если они у тебя идут не до самого дна.
Десктопной ГЛ пофиг, а мобильная может и обидеться.

#13
14:39, 4 сен. 2017

Cheb
Я пока на es2

Там не видел

ПрограммированиеФорумГрафика

Тема в архиве.