OpenGL - Open Source Graphics Library
Автор: Игорь Устинов
Пишу в свободное время софтварный растеризатор.
SVN находится на sourceforge.net - https://sourceforge.net/projects/softogl/
4 марта 2010
Автор: Игорь Устинов
Пишу в свободное время софтварный растеризатор.
SVN находится на sourceforge.net - https://sourceforge.net/projects/softogl/
4 марта 2010
Что это значит? Где кнопка скачать? Где (хотя бы) описание того, что происходит?
Pixar
> Что это значит?
Это софтварный растеризатор,помоему там всё написано.
Pixar
> Где кнопка скачать?
Качать с SVN на sourceforge.net.
Pixar
> Где (хотя бы) описание того, что происходит?
Всмысле?
Ну, как бы, я думал, что где-то должна быть ссылка на файл, в котором находится твоя библиотека. Я лично его не нашёл (наверно плохо искал). Вопрос "что это?" возник вследствие того, что я не нашёл кнопки скачать :). Так как я не понял "что это", мне показалось, что возможно это какая-то абстрактная идея софтварного растеризатора, которая, возможно, в будущем будет реализовываться =).
А реально, где ссылка на скачку?
Pixar,яж написал
> Pixar
> > Где кнопка скачать?
> Качать с SVN на sourceforge.net.
Сейчас уже работают все типы шейдеров ключая геометрические,3 типа Geometry Stream - PointStream,LineStream,TriangleStream.
void execute(const OGL::Vertex& a , const OGL::Vertex& b , const OGL::Vertex& c , const void* cbuffer )const{ // Point Rasterization test //const OGL::PointStream stream; //stream.append(a); //stream.append(b); //stream.append(c); // Line Rasterization test //const OGL::LineStream stream; //stream.append(a,b); //stream.append(b,c); //stream.append(c,a); // Triangle Rasterization test const OGL::TriangleStream stream; stream.append( a,b,c); }
Также уже реализован сеймплинг из 1D\2D\3D текстур,пока только с NEAREST фильтром,2 типа адрессации CLAMP\WRAP:
OGL::Fragment execute(const OGL::Vertex& In , const void* cbuffer )const{ const MyBuffer* buffer = ( const MyBuffer*)cbuffer; OGL::Fragment Out; const OGL::Sampler nearest( OGL::NEAREST,OGL::CLAMP); Out.color[0] = nearest.sample( buffer->texture,OGL::float4( In.varying[0].x,In.varying[0].y,0,0));//OGL::float4(In.varying[0].xyz,1.0f); return Out; }
Вот добавил перспективно корректное текстурирование: http://file.qip.ru/file/121815320/cb572c36/OGL.html
Вот ещё тесселятор добавил: http://file.qip.ru/file/121817794/82ce51b3/OGLTesselator.html
void SampleDomain(const OGL::Vertex& a , const OGL::Vertex& b , const OGL::Vertex& c ){ const OGL::LineStream stream; stream.append( a,b); stream.append( b,c); stream.append( c,a); } class SampleGS : public OGL::GeometryShader{ public: void execute( const OGL::Vertex& point , const void* cbuffer )const{ } void execute( const OGL::Vertex& a , const OGL::Vertex& b , const void* cbuffer )const{ } void execute( const OGL::Vertex& a , const OGL::Vertex& b , const OGL::Vertex& c , const void* cbuffer )const{ // Tesselator test const OGL::TriangleTesselator tesselator; tesselator.execute( SampleDomain,a,b,c,2); } };
Добавил QUAD_LIST тип примитива,и сделал альфа смешивание,держется ONE,ZERO,SRC_COLOR,INV_SRC_COLOR,DST_COLOR,INV_DST_COLOR,SRC_ALPHA,INV_SRC_ALPHA,DST_ALPHA,INV_DST_ALPHA.
Igor'
Как продвигается работа?
Rean,да никак,забросил.
Гм... а ты не того... OpenGL... :)
Sergio
А чё,я ничё =)
Тема в архиве.