started porting renderer to new portable form

This commit is contained in:
itsmattkc
2019-10-31 19:14:58 +11:00
parent d96395ea27
commit 77bcb70dac
77 changed files with 789 additions and 2237 deletions
+20 -3
View File
@@ -6,10 +6,7 @@
#include "core.h"
#include "decoder/ffmpeg/ffmpegdecoder.h"
#include "project/item/footage/footage.h"
#include "render/gl/shadergenerators.h"
#include "render/gl/functions.h"
#include "render/pixelservice.h"
#include "render/video/videorenderer.h"
VideoInput::VideoInput() :
color_processor_(nullptr),
@@ -68,6 +65,25 @@ NodeOutput *VideoInput::texture_output()
return texture_output_;
}
QString VideoInput::Code(NodeOutput *output)
{
if (output == texture_output()) {
return "#version 110\n"
"\n"
"varying vec2 olive_tex_coord;\n"
"\n"
"uniform sampler2D footage_in;\n"
"uniform mat4 matrix_in;\n"
"\n"
"void main(void) {\n"
" gl_FragColor = texture2D(olive_tex, vec2(vec4(olive_tex_coord, 0.0, 1.0) * matrix_in));\n"
"}\n";
}
return Node::Code(output);
}
/*
void VideoInput::Hash(QCryptographicHash *hash, NodeOutput *from, const rational &time)
{
Node::Hash(hash, from, time);
@@ -253,3 +269,4 @@ QVariant VideoInput::Value(NodeOutput *output, const rational &in, const rationa
return 0;
}
*/
+4 -15
View File
@@ -5,8 +5,6 @@
#include "../media.h"
#include "render/colormanager.h"
#include "render/rendertexture.h"
#include "render/gl/shadergenerators.h"
class VideoInput : public MediaInput
{
@@ -18,33 +16,24 @@ public:
virtual QString Category() override;
virtual QString Description() override;
virtual QString Code() override;
virtual void Release() override;
NodeInput* matrix_input();
NodeOutput* texture_output();
virtual void Hash(QCryptographicHash *hash, NodeOutput* from, const rational &time) override;
virtual QString Code(NodeOutput* output) override;
//virtual void Hash(QCryptographicHash *hash, NodeOutput* from, const rational &time) override;
protected:
virtual QVariant Value(NodeOutput* output, const rational& in, const rational& out) override;
//virtual QVariant Value(NodeOutput* output, const rational& in, const rational& out) override;
private:
NodeInput* matrix_input_;
NodeOutput* texture_output_;
RenderTexture internal_tex_;
ColorProcessorPtr color_processor_;
ShaderPtr pipeline_;
QOpenGLContext* ocio_ctx_;
GLuint ocio_texture_;
};
#endif // VIDEOINPUT_H