size_t fPoint = 0;
size_t sPoint = 1;
- for (size_t i = 0; i < nPoints - 1; ++i)
+ for (size_t i = 0; i < nPoints; ++i)
{
fPoint = i;
sPoint = i + 1;
- if (sPoint == nPoints - 1)
+ if (fPoint == nPoints - 1)
sPoint = 0;
GlPoint normal = getNormal(aaPts[fPoint].orgPt, aaPts[sPoint].orgPt);
normalInfo[fPoint].normal1 = normal;
normalInfo[sPoint].normal2 = normal;
}
- normalInfo[nPoints - 1].normal1 = normalInfo[0].normal1;
- normalInfo[nPoints - 1].normal2 = normalInfo[0].normal2;
+ normalInfo[0].normal2 = normalInfo[0].normal1;
+ normalInfo[nPoints - 1].normal1 = normalInfo[nPoints - 1].normal2;
for (uint32_t i = 0; i < nPoints; ++i)
{
bool GlRenderer::preRender()
{
- //TODO: called just before render()
-
+ // Blend function for pre multiplied alpha
+ GL_CHECK(glBlendFuncSeparate(GL_ONE, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA));
+ GL_CHECK(glEnable(GL_BLEND));
return true;
}
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
glCanvas->sync();
}
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
void drawGLview(Evas_Object *obj)
{
auto gl = elm_glview_gl_api_get(obj);
- int w, h;
- elm_glview_size_get(obj, &w, &h);
- gl->glViewport(0, 0, w, h);
gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl->glClear(GL_COLOR_BUFFER_BIT);
- gl->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
- gl->glEnable(GL_BLEND);
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();