00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "std3d.h"
00027
00028 #include "ps_attrib_maker_bin_op.h"
00029
00030
00031 namespace NL3D
00032 {
00033
00034 void MakePrivate(uint8 * dest, const NLMISC::CRGBA *src1, const NLMISC::CRGBA *src2, uint32 stride, uint32 numAttrib, CPSBinOp::BinOp op)
00035 {
00036 switch (op)
00037 {
00038 case CPSBinOp::modulate:
00039 {
00040
00041 NLMISC::CRGBA::modulateColors((NLMISC::CRGBA *) dest, src1, src2, numAttrib, sizeof(NLMISC::CRGBA), stride);
00042 }
00043 break;
00044 case CPSBinOp::add:
00045 {
00046
00047 NLMISC::CRGBA::addColors((NLMISC::CRGBA *) dest, src1, src2, numAttrib, sizeof(NLMISC::CRGBA), stride);
00048 }
00049 break;
00050 case CPSBinOp::subtract:
00051 {
00052
00053 NLMISC::CRGBA::subtractColors((NLMISC::CRGBA *) dest, src1, src2, numAttrib, sizeof(NLMISC::CRGBA), stride);
00054 }
00055 break;
00056 default: break;
00057 }
00058 }
00059
00060 void Make4Private(uint8 * dest, const NLMISC::CRGBA *src1, const NLMISC::CRGBA *src2, uint32 stride, uint32 numAttrib, CPSBinOp::BinOp op)
00061 {
00062 switch (op)
00063 {
00064 case CPSBinOp::modulate:
00065 {
00066
00067 NLMISC::CRGBA::modulateColors((NLMISC::CRGBA *) dest, src1, src2, numAttrib, sizeof(NLMISC::CRGBA), stride, 4);
00068 }
00069 break;
00070 case CPSBinOp::add:
00071 {
00072
00073 NLMISC::CRGBA::addColors((NLMISC::CRGBA *) dest, src1, src2, numAttrib, sizeof(NLMISC::CRGBA), stride, 4);
00074 }
00075 break;
00076 case CPSBinOp::subtract:
00077 {
00078
00079 NLMISC::CRGBA::subtractColors((NLMISC::CRGBA *) dest, src1, src2, numAttrib, sizeof(NLMISC::CRGBA), stride, 4);
00080 }
00081 break;
00082 default: break;
00083 }
00084 }
00085
00086
00087 void MakeNPrivate(uint8 * dest, const NLMISC::CRGBA *src1, const NLMISC::CRGBA *src2, uint32 stride, uint32 numAttrib, CPSBinOp::BinOp op, uint nbReplicate)
00088 {
00089 switch (op)
00090 {
00091 case CPSBinOp::modulate:
00092 {
00093
00094 NLMISC::CRGBA::modulateColors((NLMISC::CRGBA *) dest, src1, src2, numAttrib, sizeof(NLMISC::CRGBA), stride, nbReplicate);
00095 }
00096 break;
00097 case CPSBinOp::add:
00098 {
00099
00100 NLMISC::CRGBA::addColors((NLMISC::CRGBA *) dest, src1, src2, numAttrib, sizeof(NLMISC::CRGBA), stride, nbReplicate);
00101 }
00102 break;
00103 case CPSBinOp::subtract:
00104 {
00105
00106 NLMISC::CRGBA::subtractColors((NLMISC::CRGBA *) dest, src1, src2, numAttrib, sizeof(NLMISC::CRGBA), stride, nbReplicate);
00107 }
00108 break;
00109 default: break;
00110 }
00111 }
00112
00113
00114
00115
00116
00117 }