void drawEllipseO(Vec3f *points, Vec2f *texels, Vec3f normal, size_t partition, float time) { Vec3f O_(bezueFunction(points[0], time)); Vec3f curPoint; if (scene.texture_enabled) { glBegin(GL_TRIANGLE_FAN); if (!scene.optimization.optimize_lighting || (scene.optimization.optimize_lighting && scene.lighting_enabled)) glNormal3fv(&normal.x); glTexCoord2fv(&texels[0].x); glVertex3fv(&O_.x); for (int i = 1; i < partition; i++) { curPoint = bezueFunction(points[i], time); glTexCoord2fv(&texels[i].x); glVertex3fv(&curPoint.x); } curPoint = bezueFunction(points[0], time); glTexCoord2fv(&texels[partition].x); glVertex3fv(&curPoint.x); glEnd(); } else { glBegin(GL_TRIANGLE_FAN); if (!scene.optimization.optimize_lighting || scene.optimization.optimize_lighting && scene.lighting_enabled) glNormal3fv(&normal.x); glVertex3fv(&O_.x); for (int i = 1; i < partition; i++) { curPoint = bezueFunction(points[i], time); glVertex3fv(&curPoint.x); } curPoint = bezueFunction(points[0], time); glVertex3fv(&curPoint.x); glEnd(); } }
ut64 wind_get_target_base (WindCtx *ctx) { ut64 ppeb; ut64 base = 0; if (!ctx || !ctx->io_ptr || !ctx->syncd || !ctx->target) return 0; if (!wind_va_to_pa(ctx, ctx->target->peb, &ppeb)) return 0; if (!wind_read_at_phys (ctx, (uint8_t *)&base, ppeb + O_(P_ImageBaseAddress), 4 << ctx->is_x64)) return 0; return base; }
void drawEllipse(Vec3f *points, Vec2f *texels, Vec3f normal, size_t partition, float time) { Vec3f O_(bezueFunction(points[0], time)); Vec3f curPoint; glBegin(GL_TRIANGLE_FAN); glNormal3f(normal.x, normal.y, normal.z); glTexCoord2f(texels[0].x, texels[0].y); glVertex3f(O_.x, O_.y, O_.z); for (int i = 1; i < partition; i++) { curPoint = bezueFunction(points[i], time); glTexCoord2f(texels[i].x, texels[i].y); glVertex3f(curPoint.x, curPoint.y, curPoint.z); } curPoint = bezueFunction(points[0], time); glTexCoord2f(texels[partition].x, texels[partition].y); glVertex3f(curPoint.x, curPoint.y, curPoint.z); glEnd(); }