spaces -> tabs (configure you're editors right!)
This commit is contained in:
@@ -1487,8 +1487,8 @@ static CollPair* cloth_collision ( ModifierData *md1, ModifierData *md2,
|
|||||||
|
|
||||||
sdis = clmd->coll_parms->distance_repel + epsilon2 + FLT_EPSILON;
|
sdis = clmd->coll_parms->distance_repel + epsilon2 + FLT_EPSILON;
|
||||||
|
|
||||||
/*apply a repulsion force, to help the solver along.
|
/* apply a repulsion force, to help the solver along.
|
||||||
this is kindof crude, it only tests one vert of the triangle*/
|
* this is kindof crude, it only tests one vert of the triangle */
|
||||||
if (isect_ray_plane_v3(cloth->verts[collpair->ap1].tx, n2, collmd->current_xnew[collpair->bp1].co,
|
if (isect_ray_plane_v3(cloth->verts[collpair->ap1].tx, n2, collmd->current_xnew[collpair->bp1].co,
|
||||||
collmd->current_xnew[collpair->bp2].co,
|
collmd->current_xnew[collpair->bp2].co,
|
||||||
collmd->current_xnew[collpair->bp3].co, &l, 0))
|
collmd->current_xnew[collpair->bp3].co, &l, 0))
|
||||||
|
@@ -1968,7 +1968,7 @@ void resolve_tri_uv(float uv[2], const float st[2], const float st0[2], const fl
|
|||||||
void resolve_quad_uv(float uv[2], const float st[2], const float st0[2], const float st1[2], const float st2[2], const float st3[2])
|
void resolve_quad_uv(float uv[2], const float st[2], const float st0[2], const float st1[2], const float st2[2], const float st3[2])
|
||||||
{
|
{
|
||||||
const double signed_area= (st0[0]*st1[1] - st0[1]*st1[0]) + (st1[0]*st2[1] - st1[1]*st2[0]) +
|
const double signed_area= (st0[0]*st1[1] - st0[1]*st1[0]) + (st1[0]*st2[1] - st1[1]*st2[0]) +
|
||||||
(st2[0]*st3[1] - st2[1]*st3[0]) + (st3[0]*st0[1] - st3[1]*st0[0]);
|
(st2[0]*st3[1] - st2[1]*st3[0]) + (st3[0]*st0[1] - st3[1]*st0[0]);
|
||||||
|
|
||||||
/* X is 2D cross product (determinant)
|
/* X is 2D cross product (determinant)
|
||||||
A= (p0-p) X (p0-p3)*/
|
A= (p0-p) X (p0-p3)*/
|
||||||
|
@@ -159,7 +159,7 @@ typedef struct {
|
|||||||
static void multiresbake_get_normal(const MResolvePixelData *data, float norm[], const int face_num, const int vert_index)
|
static void multiresbake_get_normal(const MResolvePixelData *data, float norm[], const int face_num, const int vert_index)
|
||||||
{
|
{
|
||||||
unsigned int indices[]= {data->mface[face_num].v1, data->mface[face_num].v2,
|
unsigned int indices[]= {data->mface[face_num].v1, data->mface[face_num].v2,
|
||||||
data->mface[face_num].v3, data->mface[face_num].v4};
|
data->mface[face_num].v3, data->mface[face_num].v4};
|
||||||
const int smoothnormal= (data->mface[face_num].flag & ME_SMOOTH);
|
const int smoothnormal= (data->mface[face_num].flag & ME_SMOOTH);
|
||||||
|
|
||||||
if(!smoothnormal) { /* flat */
|
if(!smoothnormal) { /* flat */
|
||||||
|
@@ -1385,7 +1385,7 @@ static void node_texture_set_butfunc(bNodeType *ntype)
|
|||||||
default:
|
default:
|
||||||
ntype->uifunc= NULL;
|
ntype->uifunc= NULL;
|
||||||
}
|
}
|
||||||
if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc;
|
if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ******* init draw callbacks for all tree types, only called in usiblender.c, once ************* */
|
/* ******* init draw callbacks for all tree types, only called in usiblender.c, once ************* */
|
||||||
|
@@ -625,8 +625,8 @@ void ED_view3d_win_to_3d(ARegion *ar, const float depth_pt[3], const float mval[
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
const float dx= (2.0f * mval[0] / (float)ar->winx) - 1.0f;
|
const float dx= (2.0f * mval[0] / (float)ar->winx) - 1.0f;
|
||||||
const float dy= (2.0f * mval[1] / (float)ar->winy) - 1.0f;
|
const float dy= (2.0f * mval[1] / (float)ar->winy) - 1.0f;
|
||||||
line_sta[0]= (rv3d->persinv[0][0] * dx) + (rv3d->persinv[1][0] * dy) + rv3d->viewinv[3][0];
|
line_sta[0]= (rv3d->persinv[0][0] * dx) + (rv3d->persinv[1][0] * dy) + rv3d->viewinv[3][0];
|
||||||
line_sta[1]= (rv3d->persinv[0][1] * dx) + (rv3d->persinv[1][1] * dy) + rv3d->viewinv[3][1];
|
line_sta[1]= (rv3d->persinv[0][1] * dx) + (rv3d->persinv[1][1] * dy) + rv3d->viewinv[3][1];
|
||||||
line_sta[2]= (rv3d->persinv[0][2] * dx) + (rv3d->persinv[1][2] * dy) + rv3d->viewinv[3][2];
|
line_sta[2]= (rv3d->persinv[0][2] * dx) + (rv3d->persinv[1][2] * dy) + rv3d->viewinv[3][2];
|
||||||
|
@@ -922,7 +922,7 @@ static int ffmpeg_decode_video_frame(struct anim * anim)
|
|||||||
static void ffmpeg_decode_video_frame_scan(
|
static void ffmpeg_decode_video_frame_scan(
|
||||||
struct anim * anim, int64_t pts_to_search)
|
struct anim * anim, int64_t pts_to_search)
|
||||||
{
|
{
|
||||||
/* there seem to exist *very* silly GOP lengths out in the wild... */
|
/* there seem to exist *very* silly GOP lengths out in the wild... */
|
||||||
int count = 1000;
|
int count = 1000;
|
||||||
|
|
||||||
av_log(anim->pFormatCtx,
|
av_log(anim->pFormatCtx,
|
||||||
|
@@ -30,8 +30,8 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
typedef struct indexer_dv_bitstream {
|
typedef struct indexer_dv_bitstream {
|
||||||
unsigned char* buffer;
|
unsigned char* buffer;
|
||||||
int bit_pos;
|
int bit_pos;
|
||||||
} indexer_dv_bitstream;
|
} indexer_dv_bitstream;
|
||||||
|
|
||||||
static indexer_dv_bitstream bitstream_new(unsigned char* buffer_)
|
static indexer_dv_bitstream bitstream_new(unsigned char* buffer_)
|
||||||
@@ -57,41 +57,41 @@ static unsigned long bitstream_get_bits(indexer_dv_bitstream * This, int num)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int parse_num(indexer_dv_bitstream * b, int numbits) {
|
static int parse_num(indexer_dv_bitstream * b, int numbits) {
|
||||||
return bitstream_get_bits(b, numbits);
|
return bitstream_get_bits(b, numbits);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int parse_bcd(indexer_dv_bitstream * b, int n)
|
static int parse_bcd(indexer_dv_bitstream * b, int n)
|
||||||
{
|
{
|
||||||
char s[256];
|
char s[256];
|
||||||
char * p = s + (n+3)/4;
|
char * p = s + (n+3)/4;
|
||||||
|
|
||||||
*p-- = 0;
|
*p-- = 0;
|
||||||
|
|
||||||
while (n > 4) {
|
while (n > 4) {
|
||||||
char a;
|
char a;
|
||||||
int v = bitstream_get_bits(b, 4);
|
int v = bitstream_get_bits(b, 4);
|
||||||
|
|
||||||
n -= 4;
|
n -= 4;
|
||||||
a = '0' + v;
|
a = '0' + v;
|
||||||
|
|
||||||
if (a > '9') {
|
if (a > '9') {
|
||||||
bitstream_get_bits(b, n);
|
bitstream_get_bits(b, n);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
*p-- = a;
|
*p-- = a;
|
||||||
}
|
}
|
||||||
if (n) {
|
if (n) {
|
||||||
char a;
|
char a;
|
||||||
int v = bitstream_get_bits(b, n);
|
int v = bitstream_get_bits(b, n);
|
||||||
a = '0' + v;
|
a = '0' + v;
|
||||||
if (a > '9') {
|
if (a > '9') {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
*p-- = a;
|
*p-- = a;
|
||||||
}
|
}
|
||||||
|
|
||||||
return atol(s);
|
return atol(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct indexer_dv_context
|
typedef struct indexer_dv_context
|
||||||
@@ -125,124 +125,124 @@ typedef struct indexer_dv_context
|
|||||||
|
|
||||||
static void parse_packet(indexer_dv_context * This, unsigned char * p)
|
static void parse_packet(indexer_dv_context * This, unsigned char * p)
|
||||||
{
|
{
|
||||||
indexer_dv_bitstream b;
|
indexer_dv_bitstream b;
|
||||||
int type = p[0];
|
int type = p[0];
|
||||||
|
|
||||||
b = bitstream_new(p + 1);
|
b = bitstream_new(p + 1);
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 0x62: // Record date
|
case 0x62: // Record date
|
||||||
parse_num(&b, 8);
|
parse_num(&b, 8);
|
||||||
This->rec_curr_day = parse_bcd(&b, 6);
|
This->rec_curr_day = parse_bcd(&b, 6);
|
||||||
parse_num(&b, 2);
|
parse_num(&b, 2);
|
||||||
This->rec_curr_month = parse_bcd(&b, 5);
|
This->rec_curr_month = parse_bcd(&b, 5);
|
||||||
parse_num(&b, 3);
|
parse_num(&b, 3);
|
||||||
This->rec_curr_year = parse_bcd(&b, 8);
|
This->rec_curr_year = parse_bcd(&b, 8);
|
||||||
if (This->rec_curr_year < 25) {
|
if (This->rec_curr_year < 25) {
|
||||||
This->rec_curr_year += 2000;
|
This->rec_curr_year += 2000;
|
||||||
} else {
|
} else {
|
||||||
This->rec_curr_year += 1900;
|
This->rec_curr_year += 1900;
|
||||||
}
|
}
|
||||||
This->got_record_date = 1;
|
This->got_record_date = 1;
|
||||||
break;
|
break;
|
||||||
case 0x63: // Record time
|
case 0x63: // Record time
|
||||||
This->rec_curr_frame = parse_bcd(&b, 6);
|
This->rec_curr_frame = parse_bcd(&b, 6);
|
||||||
parse_num(&b, 2);
|
parse_num(&b, 2);
|
||||||
This->rec_curr_second = parse_bcd(&b, 7);
|
This->rec_curr_second = parse_bcd(&b, 7);
|
||||||
parse_num(&b, 1);
|
parse_num(&b, 1);
|
||||||
This->rec_curr_minute = parse_bcd(&b, 7);
|
This->rec_curr_minute = parse_bcd(&b, 7);
|
||||||
parse_num(&b, 1);
|
parse_num(&b, 1);
|
||||||
This->rec_curr_hour = parse_bcd(&b, 6);
|
This->rec_curr_hour = parse_bcd(&b, 6);
|
||||||
This->got_record_time = 1;
|
This->got_record_time = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void parse_header_block(indexer_dv_context * This, unsigned char* target)
|
static void parse_header_block(indexer_dv_context * This, unsigned char* target)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for (i = 3; i < 80; i += 5) {
|
for (i = 3; i < 80; i += 5) {
|
||||||
if (target[i] != 0xff) {
|
if (target[i] != 0xff) {
|
||||||
parse_packet(This, target + i);
|
parse_packet(This, target + i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void parse_subcode_blocks(
|
static void parse_subcode_blocks(
|
||||||
indexer_dv_context * This, unsigned char* target)
|
indexer_dv_context * This, unsigned char* target)
|
||||||
{
|
{
|
||||||
int i,j;
|
int i,j;
|
||||||
|
|
||||||
for (j = 0; j < 2; j++) {
|
for (j = 0; j < 2; j++) {
|
||||||
for (i = 3; i < 80; i += 5) {
|
for (i = 3; i < 80; i += 5) {
|
||||||
if (target[i] != 0xff) {
|
if (target[i] != 0xff) {
|
||||||
parse_packet(This, target + i);
|
parse_packet(This, target + i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void parse_vaux_blocks(
|
static void parse_vaux_blocks(
|
||||||
indexer_dv_context * This, unsigned char* target)
|
indexer_dv_context * This, unsigned char* target)
|
||||||
{
|
{
|
||||||
int i,j;
|
int i,j;
|
||||||
|
|
||||||
for (j = 0; j < 3; j++) {
|
for (j = 0; j < 3; j++) {
|
||||||
for (i = 3; i < 80; i += 5) {
|
for (i = 3; i < 80; i += 5) {
|
||||||
if (target[i] != 0xff) {
|
if (target[i] != 0xff) {
|
||||||
parse_packet(This, target + i);
|
parse_packet(This, target + i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
target += 80;
|
target += 80;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void parse_audio_headers(
|
static void parse_audio_headers(
|
||||||
indexer_dv_context * This, unsigned char* target)
|
indexer_dv_context * This, unsigned char* target)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for(i = 0; i < 9; i++) {
|
for(i = 0; i < 9; i++) {
|
||||||
if (target[3] != 0xff) {
|
if (target[3] != 0xff) {
|
||||||
parse_packet(This, target + 3);
|
parse_packet(This, target + 3);
|
||||||
}
|
}
|
||||||
target += 16 * 80;
|
target += 16 * 80;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void parse_frame(indexer_dv_context * This,
|
static void parse_frame(indexer_dv_context * This,
|
||||||
unsigned char * framebuffer, int isPAL)
|
unsigned char * framebuffer, int isPAL)
|
||||||
{
|
{
|
||||||
int numDIFseq = isPAL ? 12 : 10;
|
int numDIFseq = isPAL ? 12 : 10;
|
||||||
unsigned char* target = framebuffer;
|
unsigned char* target = framebuffer;
|
||||||
int ds;
|
int ds;
|
||||||
|
|
||||||
for (ds = 0; ds < numDIFseq; ds++) {
|
for (ds = 0; ds < numDIFseq; ds++) {
|
||||||
parse_header_block(This, target);
|
parse_header_block(This, target);
|
||||||
target += 1 * 80;
|
target += 1 * 80;
|
||||||
parse_subcode_blocks(This, target);
|
parse_subcode_blocks(This, target);
|
||||||
target += 2 * 80;
|
target += 2 * 80;
|
||||||
parse_vaux_blocks(This, target);
|
parse_vaux_blocks(This, target);
|
||||||
target += 3 * 80;
|
target += 3 * 80;
|
||||||
parse_audio_headers(This, target);
|
parse_audio_headers(This, target);
|
||||||
target += 144 * 80;
|
target += 144 * 80;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void inc_frame(int * frame, time_t * t, int isPAL)
|
static void inc_frame(int * frame, time_t * t, int isPAL)
|
||||||
{
|
{
|
||||||
if ((isPAL && *frame >= 25) || (!isPAL && *frame >= 30)) {
|
if ((isPAL && *frame >= 25) || (!isPAL && *frame >= 30)) {
|
||||||
fprintf(stderr, "Ouchie: inc_frame: invalid_frameno: %d\n",
|
fprintf(stderr, "Ouchie: inc_frame: invalid_frameno: %d\n",
|
||||||
*frame);
|
*frame);
|
||||||
}
|
}
|
||||||
(*frame)++;
|
(*frame)++;
|
||||||
if (isPAL && *frame >= 25) {
|
if (isPAL && *frame >= 25) {
|
||||||
(*t)++;
|
(*t)++;
|
||||||
*frame = 0;
|
*frame = 0;
|
||||||
} else if (!isPAL && *frame >= 30) {
|
} else if (!isPAL && *frame >= 30) {
|
||||||
(*t)++;
|
(*t)++;
|
||||||
*frame = 0;
|
*frame = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void write_index(indexer_dv_context * This, anim_index_entry * entry)
|
static void write_index(indexer_dv_context * This, anim_index_entry * entry)
|
||||||
@@ -256,36 +256,36 @@ static void fill_gap(indexer_dv_context * This, int isPAL)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < This->fsize; i++) {
|
for (i = 0; i < This->fsize; i++) {
|
||||||
if (This->gap_start == This->ref_time_read &&
|
if (This->gap_start == This->ref_time_read &&
|
||||||
This->gap_frame == This->curr_frame) {
|
This->gap_frame == This->curr_frame) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"indexer_dv::fill_gap: "
|
"indexer_dv::fill_gap: "
|
||||||
"can't seek backwards !\n");
|
"can't seek backwards !\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
inc_frame(&This->gap_frame, &This->gap_start, isPAL);
|
inc_frame(&This->gap_frame, &This->gap_start, isPAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (This->gap_start != This->ref_time_read ||
|
while (This->gap_start != This->ref_time_read ||
|
||||||
This->gap_frame != This->curr_frame) {
|
This->gap_frame != This->curr_frame) {
|
||||||
inc_frame(&This->gap_frame, &This->gap_start, isPAL);
|
inc_frame(&This->gap_frame, &This->gap_start, isPAL);
|
||||||
This->frameno_offset++;
|
This->frameno_offset++;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < This->fsize; i++) {
|
for (i = 0; i < This->fsize; i++) {
|
||||||
write_index(This, This->backbuffer + i);
|
write_index(This, This->backbuffer + i);
|
||||||
}
|
}
|
||||||
This->fsize = 0;
|
This->fsize = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void proc_frame(indexer_dv_context * This,
|
static void proc_frame(indexer_dv_context * This,
|
||||||
unsigned char* UNUSED(framebuffer), int isPAL)
|
unsigned char* UNUSED(framebuffer), int isPAL)
|
||||||
{
|
{
|
||||||
struct tm recDate;
|
struct tm recDate;
|
||||||
time_t t;
|
time_t t;
|
||||||
|
|
||||||
if (!This->got_record_date || !This->got_record_time) {
|
if (!This->got_record_date || !This->got_record_time) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,9 +329,9 @@ static void proc_frame(indexer_dv_context * This,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void indexer_dv_proc_frame(anim_index_builder * idx,
|
static void indexer_dv_proc_frame(anim_index_builder * idx,
|
||||||
unsigned char * buffer,
|
unsigned char * buffer,
|
||||||
int UNUSED(data_size),
|
int UNUSED(data_size),
|
||||||
struct anim_index_entry * entry)
|
struct anim_index_entry * entry)
|
||||||
{
|
{
|
||||||
int isPAL;
|
int isPAL;
|
||||||
|
|
||||||
@@ -354,7 +354,7 @@ static void indexer_dv_proc_frame(anim_index_builder * idx,
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
fprintf(stderr, "indexer_dv::indexer_dv_proc_frame: "
|
fprintf(stderr, "indexer_dv::indexer_dv_proc_frame: "
|
||||||
"backbuffer overrun, emergency flush");
|
"backbuffer overrun, emergency flush");
|
||||||
|
|
||||||
for (i = 0; i < This->fsize; i++) {
|
for (i = 0; i < This->fsize; i++) {
|
||||||
write_index(This, This->backbuffer+i);
|
write_index(This, This->backbuffer+i);
|
||||||
@@ -378,8 +378,8 @@ static void indexer_dv_delete(anim_index_builder * idx)
|
|||||||
|
|
||||||
void IMB_indexer_dv_new(anim_index_builder * idx)
|
void IMB_indexer_dv_new(anim_index_builder * idx)
|
||||||
{
|
{
|
||||||
indexer_dv_context * rv = MEM_callocN(
|
indexer_dv_context * rv = MEM_callocN(
|
||||||
sizeof(indexer_dv_context), "index_dv builder context");
|
sizeof(indexer_dv_context), "index_dv builder context");
|
||||||
|
|
||||||
rv->ref_time_read = -1;
|
rv->ref_time_read = -1;
|
||||||
rv->curr_frame = -1;
|
rv->curr_frame = -1;
|
||||||
|
@@ -52,11 +52,9 @@ static int Buffer_len(Buffer *self);
|
|||||||
static PyObject *Buffer_item(Buffer *self, int i);
|
static PyObject *Buffer_item(Buffer *self, int i);
|
||||||
static PyObject *Buffer_slice(Buffer *self, int begin, int end);
|
static PyObject *Buffer_slice(Buffer *self, int begin, int end);
|
||||||
static int Buffer_ass_item(Buffer *self, int i, PyObject *v);
|
static int Buffer_ass_item(Buffer *self, int i, PyObject *v);
|
||||||
static int Buffer_ass_slice(Buffer *self, int begin, int end,
|
static int Buffer_ass_slice(Buffer *self, int begin, int end, PyObject *seq);
|
||||||
PyObject *seq);
|
|
||||||
static PyObject *Buffer_subscript(Buffer *self, PyObject *item);
|
static PyObject *Buffer_subscript(Buffer *self, PyObject *item);
|
||||||
static int Buffer_ass_subscript(Buffer *self, PyObject *item,
|
static int Buffer_ass_subscript(Buffer *self, PyObject *item, PyObject *value);
|
||||||
PyObject *value);
|
|
||||||
|
|
||||||
static PySequenceMethods Buffer_SeqMethods = {
|
static PySequenceMethods Buffer_SeqMethods = {
|
||||||
(lenfunc) Buffer_len, /*sq_length */
|
(lenfunc) Buffer_len, /*sq_length */
|
||||||
|
@@ -641,9 +641,9 @@ static RenderResult *new_render_result(Render *re, rcti *partrct, int crop, int
|
|||||||
render_layer_add_pass(rr, rl, 3, SCE_PASS_REFRACT);
|
render_layer_add_pass(rr, rl, 3, SCE_PASS_REFRACT);
|
||||||
if(srl->passflag & SCE_PASS_INDEXOB)
|
if(srl->passflag & SCE_PASS_INDEXOB)
|
||||||
render_layer_add_pass(rr, rl, 1, SCE_PASS_INDEXOB);
|
render_layer_add_pass(rr, rl, 1, SCE_PASS_INDEXOB);
|
||||||
if(srl->passflag & SCE_PASS_INDEXMA)
|
if(srl->passflag & SCE_PASS_INDEXMA)
|
||||||
render_layer_add_pass(rr, rl, 1, SCE_PASS_INDEXMA);
|
render_layer_add_pass(rr, rl, 1, SCE_PASS_INDEXMA);
|
||||||
if(srl->passflag & SCE_PASS_MIST)
|
if(srl->passflag & SCE_PASS_MIST)
|
||||||
render_layer_add_pass(rr, rl, 1, SCE_PASS_MIST);
|
render_layer_add_pass(rr, rl, 1, SCE_PASS_MIST);
|
||||||
if(rl->passflag & SCE_PASS_RAYHITS)
|
if(rl->passflag & SCE_PASS_RAYHITS)
|
||||||
render_layer_add_pass(rr, rl, 4, SCE_PASS_RAYHITS);
|
render_layer_add_pass(rr, rl, 4, SCE_PASS_RAYHITS);
|
||||||
|
@@ -4115,13 +4115,13 @@ unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pas
|
|||||||
add_transp_obindex(rlpp[a], od, obr->ob);
|
add_transp_obindex(rlpp[a], od, obr->ob);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(addpassflag & SCE_PASS_INDEXMA) {
|
if(addpassflag & SCE_PASS_INDEXMA) {
|
||||||
ObjectRen *obr= R.objectinstance[zrow[totface-1].obi].obr;
|
ObjectRen *obr= R.objectinstance[zrow[totface-1].obi].obr;
|
||||||
if(obr->ob) {
|
if(obr->ob) {
|
||||||
for(a= 0; a<totfullsample; a++)
|
for(a= 0; a<totfullsample; a++)
|
||||||
add_transp_obindex(rlpp[a], od, obr->ob);
|
add_transp_obindex(rlpp[a], od, obr->ob);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* for each mask-sample we alpha-under colors. then in end it's added using filter */
|
/* for each mask-sample we alpha-under colors. then in end it's added using filter */
|
||||||
memset(samp_shr, 0, sizeof(ShadeResult)*osa);
|
memset(samp_shr, 0, sizeof(ShadeResult)*osa);
|
||||||
|
Reference in New Issue
Block a user