17 #include "../system/PseudoNoise.h"
18 #include "../system/RandGen.h"
19 #include "../system/StringUtils.h"
21 #include "../view_map/Functions0D.h"
22 #include "../view_map/Functions1D.h"
44 if ((1 == i) || (
size - 2 == i)) {
45 v->attribute().setThickness(_thickness / 4.0, _thickness / 4.0);
47 if ((0 == i) || (
size - 1 == i)) {
48 v->attribute().setThickness(0, 0);
51 v->attribute().setThickness(_thickness / 2.0, _thickness / 2.0);
64 if ((1 == i) || (
size - 2 == i)) {
65 v->attribute().setThickness(_thickness / 2.0, 0);
67 if ((0 == i) || (
size - 1 == i)) {
68 v->attribute().setThickness(0, 0);
71 v->attribute().setThickness(_thickness, 0);
83 if (i < (
float)n / 2.0f) {
84 t = (1.0 - (
float)i / (
float)n) * _ThicknessMin + (
float)i / (
float)n * _ThicknessMax;
87 t = (1.0 - (
float)i / (
float)n) * _ThicknessMax + (
float)i / (
float)n * _ThicknessMin;
89 v->attribute().setThickness(
t / 2.0,
t / 2.0);
97 float maxT =
min(_ratio * slength, _ThicknessMax);
105 if (i < (
float)n / 2.0f) {
106 t = (1.0 - (
float)i / (
float)n) * _ThicknessMin + (
float)i / (
float)n * maxT;
109 t = (1.0 - (
float)i / (
float)n) * maxT + (
float)i / (
float)n * _ThicknessMin;
111 v->attribute().setThickness(
t / 2.0,
t / 2.0);
113 v->attribute().setThickness(_ThicknessMin / 2.0, _ThicknessMin / 2.0);
121 float step = (_maxThickness - _minThickness) / 3.0f;
123 float thickness = 0.0f;
125 thickness = _minThickness + 3.0f * step;
127 else if ((
l < 300.0f) && (
l > 100.0f)) {
128 thickness = _minThickness + 2.0f * step;
130 else if ((
l < 100.0f) && (
l > 50.0f)) {
131 thickness = _minThickness + 1.0f * step;
134 thickness = _minThickness;
143 if ((1 == i) || (
size - 2 == i)) {
144 v->attribute().setThickness(thickness / 4.0, thickness / 4.0);
146 if ((0 == i) || (
size - 1 == i)) {
147 v->attribute().setThickness(0, 0);
150 v->attribute().setThickness(thickness / 2.0, thickness / 2.0);
165 _amplitude = iAmplitude;
184 const float *originalThickness =
v->attribute().getThickness();
185 float r = bruit * _amplitude + originalThickness[0];
186 float l = bruit2 * _amplitude + originalThickness[1];
187 v->attribute().setThickness(
r,
l);
202 v->attribute().setColor(_color[0], _color[1], _color[2]);
203 v->attribute().setAlpha(_color[3]);
215 for (
int i = 0; i < 4; ++i) {
216 newcolor[i] = (1.0 - (
float)yo / (
float)n) * _colorMin[i] +
217 (
float)yo / (
float)n * _colorMax[i];
219 v->attribute().setColor(newcolor[0], newcolor[1], newcolor[2]);
220 v->attribute().setAlpha(newcolor[3]);
237 diffuse[0] * _coefficient, diffuse[1] * _coefficient, diffuse[2] * _coefficient);
251 _amplitude = iAmplitude;
266 const float *originalColor =
v->attribute().getColor();
267 float r = bruit * _amplitude + originalColor[0];
268 float g = bruit * _amplitude + originalColor[1];
269 float b = bruit * _amplitude + originalColor[2];
270 v->attribute().setColor(
r,
g,
b);
318 Vec2d first((v0)->
x(), (v0)->
y());
326 Vec2d newFirst(first + _amount * d1);
327 (v0)->setPoint(newFirst[0], newFirst[1]);
328 Vec2d newLast(last + _amount * dn);
329 (
vn)->setPoint(newLast[0], newLast[1]);
354 Vec2d newPoint(sv->
x() + _amount * n.
x(), sv->
y() + _amount * n.
y());
355 sv->
setPoint(newPoint[0], newPoint[1]);
371 data.emplace_back(
v->x(),
v->y());
377 data.emplace_back(
v->x(),
v->y());
386 vector<Vec2d> CurveVertices;
387 vector<BezierCurveSegment *> &bsegments = bcurve.
segments();
388 vector<BezierCurveSegment *>::iterator s = bsegments.begin(), send;
389 vector<Vec2d> &segmentsVertices = (*s)->vertices();
390 vector<Vec2d>::iterator p, pend;
392 CurveVertices.push_back(segmentsVertices[0]);
393 for (send = bsegments.end(); s != send; ++s) {
394 segmentsVertices = (*s)->vertices();
395 p = segmentsVertices.begin();
397 for (pend = segmentsVertices.end(); p != pend; ++p) {
398 CurveVertices.push_back((*p));
403 int originalSize = CurveVertices.size();
410 int nExtraVertex = 0;
411 if (newsize < originalSize) {
412 cerr <<
"Warning: insufficient resampling" << endl;
415 nExtraVertex = newsize - originalSize;
416 if (nExtraVertex != 0) {
418 cout <<
"Bezier Shader : Stroke " << stroke.
getId() <<
" have not been resampled" << endl;
424 p = CurveVertices.begin();
425 vector<Vec2d>::iterator last = p;
431 pend = CurveVertices.end();
432 (it != itend) && (p != pend);
441 if (nExtraVertex == 0) {
446 vector<StrokeAttribute> attributes;
447 vector<StrokeVertex *> verticesToRemove;
448 for (
int i = 0; i < nExtraVertex; ++i, ++it, ++n) {
449 verticesToRemove.push_back(&(*it));
453 cout <<
"messed up!" << endl;
461 for (vector<StrokeVertex *>::iterator vr = verticesToRemove.begin(),
462 vrend = verticesToRemove.end();
468 vector<StrokeAttribute>::iterator
a = attributes.begin(), aend = attributes.end();
470 int index1 = (int)
floor((
float)originalSize / 2.0);
471 int index2 = index1 + nExtraVertex;
473 (it != itend) && (
a != aend);
475 (it)->setAttribute(*
a);
476 if ((index <= index1) || (index > index2)) {
509 Vec2d P(it->x(), it->y());
528 for (
int i = 0; i < ns1; ++it, ++i) {
542 vector<CurvePiece *> _pieces;
543 vector<CurvePiece *> _results;
544 vector<CurvePiece *>::iterator cp, cpend;
553 _pieces.push_back(piece);
555 while (!_pieces.empty()) {
556 piece = _pieces.back();
558 if (piece->
size > 2 && piece->
error() > _error) {
560 _pieces.push_back(second);
561 _pieces.push_back(piece);
564 _results.push_back(piece);
569 for (cp = _results.begin(), cpend = _results.end(); cp != cpend; ++cp) {
572 Vec2d u = (*cp)->B - (*cp)->A;
573 Vec2d n(u[1], -u[0]);
576 float offset = ((*cp)->_error);
578 for (
v =
a;
v !=
b; ++
v) {
579 v->setPoint((*cp)->A.x() +
v->u() * u.
x() + n.
x() *
offset,
580 (*cp)->A.y() +
v->u() * u.
y() + n.
y() *
offset);
584 (*a)->setPoint((*a)->x() - u.
x() * 10, (*a)->y() - u.
y() * 10);
590 for (cp = _results.begin(), cpend = _results.end(); cp != cpend; ++cp) {
607 Vec2f n(u[1], -u[0]);
609 if (norm_fun(stroke) < 0) {
613 if (n * strokeN < 0) {
620 v->setPoint(piece.
A.
x() +
v->u() * u.
x() + n.
x() *
offset,
642 if (originalSize < 4) {
647 vector<StrokeVertex *> verticesToRemove;
648 vector<StrokeAttribute> oldAttributes;
651 (
v->strokeLength() -
v->curvilinearAbscissa() <
_tipLength)) {
652 verticesToRemove.push_back(&(*
v));
654 oldAttributes.push_back(
v->attribute());
657 if (originalSize - verticesToRemove.size() < 2) {
661 vector<StrokeVertex *>::iterator sv, svend;
662 for (sv = verticesToRemove.begin(), svend = verticesToRemove.end(); sv != svend; ++sv) {
670 cerr <<
"Warning: resampling problem" << endl;
674 vector<StrokeAttribute>::iterator
a = oldAttributes.begin(), aend = oldAttributes.end();
676 (
v != vend) && (
a != aend);
Functions taking 0D input.
Functions taking 1D input.
typedef float(TangentPoint)[2]
Class gathering basic stroke shaders.
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint vn
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble t
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble v1
Contains defines and structs used throughout the imbuf module.
Functions to manage I/O for the stroke.
Iterators used to iterate over the elements of the Stroke.
Classes to render a stroke with OpenGL.
ATTR_WARN_UNUSED_RESULT const BMLoop * l
ATTR_WARN_UNUSED_RESULT const BMVert * v
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
std::vector< BezierCurveSegment * > & segments()
const float * diffuse() const
virtual bool isEnd() const
real turbulenceSmooth(real x, unsigned nbOctave=8)
void setColor(float r, float g, float b)
void setAlpha(float alpha)
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
! Bezier curve stroke shader
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
StrokeInternal::StrokeVertexIterator _begin
CurvePiece * subdivide()
Subdivides the curve into two pieces.
StrokeInternal::StrokeVertexIterator _last
CurvePiece(StrokeInternal::StrokeVertexIterator b, StrokeInternal::StrokeVertexIterator l, int iSize)
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
virtual int shade(Stroke &stroke) const
TipRemoverShader(real tipLength)
const StrokeAttribute & attribute() const
void setPoint(real x, real y)
void setTextureStep(float step)
virtual Interface0DIterator verticesBegin()
void RemoveVertex(StrokeVertex *iVertex)
virtual Interface0DIterator verticesEnd()
float ComputeSampling(int iNVertices)
StrokeInternal::StrokeVertexIterator strokeVerticesEnd()
StrokeInternal::StrokeVertexIterator strokeVerticesBegin(float t=0.0f)
void setNodeTree(bNodeTree *iNodeTree)
int Resample(int iNPoints)
unsigned int strokeVerticesSize() const
Vec< T, N > & normalize()
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
ccl_device_inline float2 fabs(const float2 &a)
real distPointSegment(const T &P, const T &A, const T &B)
VecMat::Vec2< double > Vec2d
static const unsigned NB_VALUE_NOISE
static const real M_EPSILON
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
static const pxr::TfToken g("g", pxr::TfToken::Immortal)