Я работаю над приложением MacOS с рендерингом на основе металлов.
App полностью в C ++ и использует Metal-CPP+ GLFW. < /p>
Попытка реализовать качество Pixel-Levect verendered. Я столкнулся с проблемой текстовой Triangles: Texture Blurred даже с Mtl :: strudeScriprycriptor samplecount = 1 < /1 < /1 < /1 < /1 < /1 < /1 < /1 < /1 < /1 < /1 < /1 < /кодовой. MAG_FILTER :: ближайший , min_filter :: ближайший и т. Д.constexpr sampler textureSampler(
mag_filter::nearest,
min_filter::nearest);
As glfwGetWindowContentScale returns (2,2) scale, resulting image is expected to be 6x6 pixels, but actually it is rendered as 8x8 pixels and blurred.
It looks like 0.5 pixel is added by renderer at each side and all colors are interpolated:
оригинальная текстура 3x3:
Треугольники для вызова для рисования созданы из квадратных точек (P0, P1, P2, P3), указанные в порядке CW, поэтому я проверил отладчик, что все правильно:
// Coordinates of square x0, y0, x1, y1, x2, y2, x3, y3:
coord = { 639.5, 715.5, 642.5, 715.5, 642.5, 718.5, 639.5, 718.5 };
// Corresponding texture coordinates:
texCoord = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f };
Подробнее здесь: https://stackoverflow.com/questions/795 ... tal-glfw-c
Текстура размыта в Apple Metal / GLFW / C ++ ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение