Показать сообщение отдельно
Старый 28.09.2012, 16:22   #7
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Блендинг при мультитекстурировании

Снова проблема. Есть две текстуры: вертикальная белая линия на альфаканале и горизонтальная белая линия на альфаканале. Требуется наложить их на куб, так чтобы получилось перекрестие.
Какие только эффекты я не получал (когда уже отчаялся и перешёл к брутфорсу - хотя казалось бы multyply должно было хватить), включая логическое И, нужного добиться не удалось.
Смятение вносит и предыдущие разбирательства (см.выше) в которых показана рудиментарность флага FLAGS_MASKED.
#include <xors3d.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <iostream>

using namespace std;

int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR commandLine, int commandShow)
{
    xAppTitle("sample");
	xGraphics3D(800, 600, 32, false, true);
	int camera = xCreateCamera();
	xCameraClsColor(camera,0,100,0);


    int cube=xCreateCube();
    xPositionEntity(cube,0,0,5);


    int tex0=xLoadTexture("horz_line.png",FLAGS_MASKED);
    int tex1=xLoadTexture("vert_line.png",FLAGS_MASKED);

    xTextureBlend(tex0,??);
    xTextureBlend(tex1,??);

    xEntityTexture(cube,tex0,0,0);
    xEntityTexture(cube,tex1,0,1);

	while(!xKeyHit(1) || xWinMessage("WM_CLOSE"))
	{

	    xRenderWorld();
	    xFlip();
	}

    return 0;
}
Спасибо.
Изображения
  
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием