Software RenderingЖурнал

OpenGL - Open Source Graphics Library

Автор:

Пишу в свободное время софтварный растеризатор.
SVN находится на sourceforge.net - https://sourceforge.net/projects/softogl/

4 марта 2010

Комментарии [12]

#1
17:13, 5 мар 2010

Что это значит? Где кнопка скачать? Где (хотя бы) описание того, что происходит?

#2
17:26, 5 мар 2010

Pixar
> Что это значит?
Это софтварный растеризатор,помоему там всё написано.
Pixar
> Где кнопка скачать?
Качать с SVN на sourceforge.net.
Pixar
> Где (хотя бы) описание того, что происходит?
Всмысле?

#3
19:05, 5 мар 2010

Ну, как бы, я думал, что где-то должна быть ссылка на файл, в котором находится твоя библиотека. Я лично его не нашёл (наверно плохо искал). Вопрос "что это?" возник вследствие того, что я не нашёл кнопки скачать :). Так как я не понял "что это", мне показалось, что возможно это какая-то абстрактная идея софтварного растеризатора, которая, возможно, в будущем будет реализовываться =).
А реально, где ссылка на скачку?

#4
19:29, 5 мар 2010

Pixar,яж написал
> Pixar
> > Где кнопка скачать?
> Качать с SVN на sourceforge.net.

#5
19:33, 5 мар 2010

Сейчас уже работают все типы шейдеров ключая геометрические,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;
  }
#6
23:47, 5 мар 2010

Вот добавил перспективно корректное текстурирование: http://file.qip.ru/file/121815320/cb572c36/OGL.html

#7
0:11, 6 мар 2010

Вот ещё тесселятор добавил: 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);
  }
};
#8
6:27, 6 мар 2010

Добавил QUAD_LIST тип примитива,и сделал альфа смешивание,держется ONE,ZERO,SRC_COLOR,INV_SRC_COLOR,DST_COLOR,INV_DST_COLOR,SRC_ALPHA,INV_SRC_ALPHA,DST_ALPHA,INV_DST_ALPHA.

#9
16:07, 15 мая 2010

Igor'
Как продвигается работа?

#10
16:43, 15 мая 2010

Rean,да никак,забросил.

#11
17:10, 15 мая 2010

Гм... а ты не того... OpenGL... :)

#12
17:49, 15 мая 2010

Sergio
А чё,я ничё =)

Software RenderingЖурнал

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