百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

求助:threejs+qml+json模型加载失败

bigegpt 2024-08-10 12:17 13 浏览

Starting C:\Qt\Qt5.6.2\Examples\Qt-5.6\canvas3d\build-threejs-Desktop_Qt_5_6_2_MinGW_32bit-Debug\cellphone\debug\cellphone.exe...
QML debugging is enabled. Only use this in a safe environment.
Debug: THREE.Canvas3DRenderer 71 (qrc:/three.js:29042, )
Warning: QOpenGLShader::compile(Vertex): ERROR: 3:217: '' : array size must be a positive integer 
 (opengl\qopenglshaderprogram.cpp:328, bool QOpenGLShaderPrivate::compile(QOpenGLShader*))
Warning: *** Problematic Vertex shader source code *** (opengl\qopenglshaderprogram.cpp:334, bool QOpenGLShaderPrivate::compile(QOpenGLShader*))
Warning: #version 120 
#define lowp
#define mediump
#define highp
#line 2
#define precision 
precision highp float;
precision highp int;
#define VERTEX_TEXTURES
#define GAMMA_FACTOR 2
#define MAX_DIR_LIGHTS 1
#define MAX_POINT_LIGHTS 0
#define MAX_SPOT_LIGHTS 0
#define MAX_HEMI_LIGHTS 0
#define MAX_SHADOWS 0
#define MAX_BONES 0
#define USE_COLOR
#define USE_SKINNING
uniform mat4 modelMatrix;
uniform mat4 modelViewMatrix;
uniform mat4 projectionMatrix;
uniform mat4 viewMatrix;
uniform mat3 normalMatrix;
uniform vec3 cameraPosition;
attribute vec3 position;
attribute vec3 normal;
attribute vec2 uv;
attribute vec2 uv2;
#ifdef USE_COLOR
	attribute vec3 color;
#endif
#ifdef USE_MORPHTARGETS
	attribute vec3 morphTarget0;
	attribute vec3 morphTarget1;
	attribute vec3 morphTarget2;
	attribute vec3 morphTarget3;
	#ifdef USE_MORPHNORMALS
		attribute vec3 morphNormal0;
		attribute vec3 morphNormal1;
		attribute vec3 morphNormal2;
		attribute vec3 morphNormal3;
	#else
		attribute vec3 morphTarget4;
		attribute vec3 morphTarget5;
		attribute vec3 morphTarget6;
		attribute vec3 morphTarget7;
	#endif
#endif
#ifdef USE_SKINNING
	attribute vec4 skinIndex;
	attribute vec4 skinWeight;
#endif
#define PHONG
varying vec3 vViewPosition;
#ifndef FLAT_SHADED
	varying vec3 vNormal;
#endif
#define PI 3.14159
#define PI2 6.28318
#define RECIPROCAL_PI2 0.15915494
#define LOG2 1.442695
#define EPSILON 1e-6
float square( in float a ) { return a*a; }
vec2 square( in vec2 a ) { return vec2( a.x*a.x, a.y*a.y ); }
vec3 square( in vec3 a ) { return vec3( a.x*a.x, a.y*a.y, a.z*a.z ); }
vec4 square( in vec4 a ) { return vec4( a.x*a.x, a.y*a.y, a.z*a.z, a.w*a.w ); }
float saturate( in float a ) { return clamp( a, 0.0, 1.0 ); }
vec2 saturate( in vec2 a ) { return clamp( a, 0.0, 1.0 ); }
vec3 saturate( in vec3 a ) { return clamp( a, 0.0, 1.0 ); }
vec4 saturate( in vec4 a ) { return clamp( a, 0.0, 1.0 ); }
float average( in float a ) { return a; }
float average( in vec2 a ) { return ( a.x + a.y) * 0.5; }
float average( in vec3 a ) { return ( a.x + a.y + a.z) / 3.0; }
float average( in vec4 a ) { return ( a.x + a.y + a.z + a.w) * 0.25; }
float whiteCompliment( in float a ) { return saturate( 1.0 - a ); }
vec2 whiteCompliment( in vec2 a ) { return saturate( vec2(1.0) - a ); }
vec3 whiteCompliment( in vec3 a ) { return saturate( vec3(1.0) - a ); }
vec4 whiteCompliment( in vec4 a ) { return saturate( vec4(1.0) - a ); }
vec3 transformDirection( in vec3 normal, in mat4 matrix ) {
	return normalize( ( matrix * vec4( normal, 0.0 ) ).xyz );
}
// http://en.wikibooks.org/wiki/GLSL_Programming/Applying_Matrix_Transformations
vec3 inverseTransformDirection( in vec3 normal, in mat4 matrix ) {
	return normalize( ( vec4( normal, 0.0 ) * matrix ).xyz );
}
vec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal) {
	float distance = dot( planeNormal, point-pointOnPlane );
	return point - distance * planeNormal;
}
float sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {
	return sign( dot( point - pointOnPlane, planeNormal ) );
}
vec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {
	return pointOnLine + lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) );
}
float calcLightAttenuation( float lightDistance, float cutoffDistance, float decayExponent ) {
	if ( decayExponent > 0.0 ) {
	 return pow( saturate( 1.0 - lightDistance / cutoffDistance ), decayExponent );
	}
	return 1.0;
}
vec3 inputToLinear( in vec3 a ) {
#ifdef GAMMA_INPUT
	return pow( a, vec3( float( GAMMA_FACTOR ) ) );
#else
	return a;
#endif
}
vec3 linearToOutput( in vec3 a ) {
#ifdef GAMMA_OUTPUT
	return pow( a, vec3( 1.0 / float( GAMMA_FACTOR ) ) );
#else
	return a;
#endif
}
#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP )
	varying vec2 vUv;
	uniform vec4 offsetRepeat;
#endif
#ifdef USE_LIGHTMAP
	varying vec2 vUv2;
#endif
#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP ) && ! defined( PHONG )
	varying vec3 vReflect;
	uniform float refractionRatio;
#endif
#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP ) || defined( USE_ENVMAP )
	varying vec3 vWorldPosition;
#endif
#ifdef USE_COLOR
	varying vec3 vColor;
#endif
#ifdef USE_MORPHTARGETS
	#ifndef USE_MORPHNORMALS
	uniform float morphTargetInfluences[ 8 ];
	#else
	uniform float morphTargetInfluences[ 4 ];
	#endif
#endif
#ifdef USE_SKINNING
	uniform mat4 bindMatrix;
	uniform mat4 bindMatrixInverse;
	#ifdef BONE_TEXTURE
		uniform sampler2D boneTexture;
		uniform int boneTextureWidth;
		uniform int boneTextureHeight;
		mat4 getBoneMatrix( const in float i ) {
			float j = i * 4.0;
			float x = mod( j, float( boneTextureWidth ) );
			float y = floor( j / float( boneTextureWidth ) );
			float dx = 1.0 / float( boneTextureWidth );
			float dy = 1.0 / float( boneTextureHeight );
			y = dy * ( y + 0.5 );
			vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );
			vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );
			vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );
			vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );
			mat4 bone = mat4( v1, v2, v3, v4 );
			return bone;
		}
	#else
		uniform mat4 boneGlobalMatrices[ MAX_BONES ];
		mat4 getBoneMatrix( const in float i ) {
			mat4 bone = boneGlobalMatrices[ int(i) ];
			return bone;
		}
	#endif
#endif
#ifdef USE_SHADOWMAP
	varying vec4 vShadowCoord[ MAX_SHADOWS ];
	uniform mat4 shadowMatrix[ MAX_SHADOWS ];
#endif
#ifdef USE_LOGDEPTHBUF
	#ifdef USE_LOGDEPTHBUF_EXT
		varying float vFragDepth;
	#endif
	uniform float logDepthBufFC;
#endif
void main() {
#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP )
	vUv = uv * offsetRepeat.zw + offsetRepeat.xy;
#endif
#ifdef USE_LIGHTMAP
	vUv2 = uv2;
#endif
#ifdef USE_COLOR
	vColor.xyz = inputToLinear( color.xyz );
#endif
#ifdef USE_MORPHNORMALS
	vec3 morphedNormal = vec3( 0.0 );
	morphedNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];
	morphedNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];
	morphedNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];
	morphedNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];
	morphedNormal += normal;
#endif
#ifdef USE_SKINNING
	mat4 boneMatX = getBoneMatrix( skinIndex.x );
	mat4 boneMatY = getBoneMatrix( skinIndex.y );
	mat4 boneMatZ = getBoneMatrix( skinIndex.z );
	mat4 boneMatW = getBoneMatrix( skinIndex.w );
#endif
#ifdef USE_SKINNING
	mat4 skinMatrix = mat4( 0.0 );
	skinMatrix += skinWeight.x * boneMatX;
	skinMatrix += skinWeight.y * boneMatY;
	skinMatrix += skinWeight.z * boneMatZ;
	skinMatrix += skinWeight.w * boneMatW;
	skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;
	#ifdef USE_MORPHNORMALS
	vec4 skinnedNormal = skinMatrix * vec4( morphedNormal, 0.0 );
	#else
	vec4 skinnedNormal = skinMatrix * vec4( normal, 0.0 );
	#endif
#endif
#ifdef USE_SKINNING
	vec3 objectNormal = skinnedNormal.xyz;
#elif defined( USE_MORPHNORMALS )
	vec3 objectNormal = morphedNormal;
#else
	vec3 objectNormal = normal;
#endif
#ifdef FLIP_SIDED
	objectNormal = -objectNormal;
#endif
vec3 transformedNormal = normalMatrix * objectNormal;
#ifndef FLAT_SHADED
	vNormal = normalize( transformedNormal );
#endif
#ifdef USE_MORPHTARGETS
	vec3 morphed = vec3( 0.0 );
	morphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];
	morphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];
	morphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];
	morphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];
	#ifndef USE_MORPHNORMALS
	morphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];
	morphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];
	morphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];
	morphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];
	#endif
	morphed += position;
#endif
#ifdef USE_SKINNING
	#ifdef USE_MORPHTARGETS
	vec4 skinVertex = bindMatrix * vec4( morphed, 1.0 );
	#else
	vec4 skinVertex = bindMatrix * vec4( position, 1.0 );
	#endif
	vec4 skinned = vec4( 0.0 );
	skinned += boneMatX * skinVertex * skinWeight.x;
	skinned += boneMatY * skinVertex * skinWeight.y;
	skinned += boneMatZ * skinVertex * skinWeight.z;
	skinned += boneMatW * skinVertex * skinWeight.w;
	skinned = bindMatrixInverse * skinned;
#endif
#ifdef USE_SKINNING
	vec4 mvPosition = modelViewMatrix * skinned;
#elif defined( USE_MORPHTARGETS )
	vec4 mvPosition = modelViewMatrix * vec4( morphed, 1.0 );
#else
	vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
#endif
gl_Position = projectionMatrix * mvPosition;
#ifdef USE_LOGDEPTHBUF
	gl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;
	#ifdef USE_LOGDEPTHBUF_EXT
		vFragDepth = 1.0 + gl_Position.w;
#else
		gl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;
	#endif
#endif
	vViewPosition = -mvPosition.xyz;
#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )
	#ifdef USE_SKINNING
		vec4 worldPosition = modelMatrix * skinned;
	#elif defined( USE_MORPHTARGETS )
		vec4 worldPosition = modelMatrix * vec4( morphed, 1.0 );
	#else
		vec4 worldPosition = modelMatrix * vec4( position, 1.0 );
	#endif
#endif
#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP ) && ! defined( PHONG )
	vec3 worldNormal = transformDirection( objectNormal, modelMatrix );
	vec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );
	#ifdef ENVMAP_MODE_REFLECTION
		vReflect = reflect( cameraToVertex, worldNormal );
	#else
		vReflect = refract( cameraToVertex, worldNormal, refractionRatio );
	#endif
#endif
#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP ) || defined( USE_ENVMAP )
	vWorldPosition = worldPosition.xyz;
#endif
#ifdef USE_SHADOWMAP
	for( int i = 0; i < MAX_SHADOWS; i ++ ) {
		vShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;
	}
#endif
} (opengl\qopenglshaderprogram.cpp:335, bool QOpenGLShaderPrivate::compile(QOpenGLShader*))
Warning: *** (opengl\qopenglshaderprogram.cpp:336, bool QOpenGLShaderPrivate::compile(QOpenGLShader*))
Warning: CanvasRenderer::executeCommandQueue: Failed to compile shader QOpenGLShader(0x2f6756f0) (canvasrenderer.cpp:1063, void QtCanvas3D::CanvasRenderer::executeCommandQueue())
Critical: THREE.WebGLShader: Shader couldn't compile. (qrc:/three.js:69, )
Warning: THREE.WebGLShader: gl.getShaderInfoLog() ERROR: 3:217: '' : array size must be a positive integer 
 1: precision highp float;
2: precision highp int;
3: 
4: #define VERTEX_TEXTURES
5: 
6: 
7: #define GAMMA_FACTOR 2
8: #define MAX_DIR_LIGHTS 1
9: #define MAX_POINT_LIGHTS 0
10: #define MAX_SPOT_LIGHTS 0
11: #define MAX_HEMI_LIGHTS 0
12: #define MAX_SHADOWS 0
13: #define MAX_BONES 0
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: #define USE_COLOR
23: 
24: #define USE_SKINNING
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: uniform mat4 modelMatrix;
38: uniform mat4 modelViewMatrix;
39: uniform mat4 projectionMatrix;
40: uniform mat4 viewMatrix;
41: uniform mat3 normalMatrix;
42: uniform vec3 cameraPosition;
43: attribute vec3 position;
44: attribute vec3 normal;
45: attribute vec2 uv;
46: attribute vec2 uv2;
47: #ifdef USE_COLOR
48: 	attribute vec3 color;
49: #endif
50: #ifdef USE_MORPHTARGETS
51: 	attribute vec3 morphTarget0;
52: 	attribute vec3 morphTarget1;
53: 	attribute vec3 morphTarget2;
54: 	attribute vec3 morphTarget3;
55: 	#ifdef USE_MORPHNORMALS
56: 		attribute vec3 morphNormal0;
57: 		attribute vec3 morphNormal1;
58: 		attribute vec3 morphNormal2;
59: 		attribute vec3 morphNormal3;
60: 	#else
61: 		attribute vec3 morphTarget4;
62: 		attribute vec3 morphTarget5;
63: 		attribute vec3 morphTarget6;
64: 		attribute vec3 morphTarget7;
65: 	#endif
66: #endif
67: #ifdef USE_SKINNING
68: 	attribute vec4 skinIndex;
69: 	attribute vec4 skinWeight;
70: #endif
71: #define PHONG
72: varying vec3 vViewPosition;
73: #ifndef FLAT_SHADED
74: 	varying vec3 vNormal;
75: #endif
76: #define PI 3.14159
77: #define PI2 6.28318
78: #define RECIPROCAL_PI2 0.15915494
79: #define LOG2 1.442695
80: #define EPSILON 1e-6
81: 
82: float square( in float a ) { return a*a; }
83: vec2 square( in vec2 a ) { return vec2( a.x*a.x, a.y*a.y ); }
84: vec3 square( in vec3 a ) { return vec3( a.x*a.x, a.y*a.y, a.z*a.z ); }
85: vec4 square( in vec4 a ) { return vec4( a.x*a.x, a.y*a.y, a.z*a.z, a.w*a.w ); }
86: float saturate( in float a ) { return clamp( a, 0.0, 1.0 ); }
87: vec2 saturate( in vec2 a ) { return clamp( a, 0.0, 1.0 ); }
88: vec3 saturate( in vec3 a ) { return clamp( a, 0.0, 1.0 ); }
89: vec4 saturate( in vec4 a ) { return clamp( a, 0.0, 1.0 ); }
90: float average( in float a ) { return a; }
91: float average( in vec2 a ) { return ( a.x + a.y) * 0.5; }
92: float average( in vec3 a ) { return ( a.x + a.y + a.z) / 3.0; }
93: float average( in vec4 a ) { return ( a.x + a.y + a.z + a.w) * 0.25; }
94: float whiteCompliment( in float a ) { return saturate( 1.0 - a ); }
95: vec2 whiteCompliment( in vec2 a ) { return saturate( vec2(1.0) - a ); }
96: vec3 whiteCompliment( in vec3 a ) { return saturate( vec3(1.0) - a ); }
97: vec4 whiteCompliment( in vec4 a ) { return saturate( vec4(1.0) - a ); }
98: vec3 transformDirection( in vec3 normal, in mat4 matrix ) {
99: 	return normalize( ( matrix * vec4( normal, 0.0 ) ).xyz );
100: }
101: // http://en.wikibooks.org/wiki/GLSL_Programming/Applying_Matrix_Transformations
102: vec3 inverseTransformDirection( in vec3 normal, in mat4 matrix ) {
103: 	return normalize( ( vec4( normal, 0.0 ) * matrix ).xyz );
104: }
105: vec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal) {
106: 	float distance = dot( planeNormal, point-pointOnPlane );
107: 	return point - distance * planeNormal;
108: }
109: float sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {
110: 	return sign( dot( point - pointOnPlane, planeNormal ) );
111: }
112: vec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {
113: 	return pointOnLine + lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) );
114: }
115: float calcLightAttenuation( float lightDistance, float cutoffDistance, float decayExponent ) {
116: 	if ( decayExponent > 0.0 ) {
117: 	 return pow( saturate( 1.0 - lightDistance / cutoffDistance ), decayExponent );
118: 	}
119: 	return 1.0;
120: }
121: 
122: vec3 inputToLinear( in vec3 a ) {
123: #ifdef GAMMA_INPUT
124: 	return pow( a, vec3( float( GAMMA_FACTOR ) ) );
125: #else
126: 	return a;
127: #endif
128: }
129: vec3 linearToOutput( in vec3 a ) {
130: #ifdef GAMMA_OUTPUT
131: 	return pow( a, vec3( 1.0 / float( GAMMA_FACTOR ) ) );
132: #else
133: 	return a;
134: #endif
135: }
136: 
137: #if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP )
138: 
139: 	varying vec2 vUv;
140: 	uniform vec4 offsetRepeat;
141: 
142: #endif
143: 
144: #ifdef USE_LIGHTMAP
145: 
146: 	varying vec2 vUv2;
147: 
148: #endif
149: #if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP ) && ! defined( PHONG )
150: 
151: 	varying vec3 vReflect;
152: 
153: 	uniform float refractionRatio;
154: 
155: #endif
156: 
157: #if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP ) || defined( USE_ENVMAP )
158: 
159: 	varying vec3 vWorldPosition;
160: 
161: #endif
162: 
163: #ifdef USE_COLOR
164: 
165: 	varying vec3 vColor;
166: 
167: #endif
168: #ifdef USE_MORPHTARGETS
169: 
170: 	#ifndef USE_MORPHNORMALS
171: 
172: 	uniform float morphTargetInfluences[ 8 ];
173: 
174: 	#else
175: 
176: 	uniform float morphTargetInfluences[ 4 ];
177: 
178: 	#endif
179: 
180: #endif
181: #ifdef USE_SKINNING
182: 
183: 	uniform mat4 bindMatrix;
184: 	uniform mat4 bindMatrixInverse;
185: 
186: 	#ifdef BONE_TEXTURE
187: 
188: 		uniform sampler2D boneTexture;
189: 		uniform int boneTextureWidth;
190: 		uniform int boneTextureHeight;
191: 
192: 		mat4 getBoneMatrix( const in float i ) {
193: 
194: 			float j = i * 4.0;
195: 			float x = mod( j, float( boneTextureWidth ) );
196: 			float y = floor( j / float( boneTextureWidth ) );
197: 
198: 			float dx = 1.0 / float( boneTextureWidth );
199: 			float dy = 1.0 / float( boneTextureHeight );
200: 
201: 			y = dy * ( y + 0.5 );
202: 
203: 			vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );
204: 			vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );
205: 			vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );
206: 			vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );
207: 
208: 			mat4 bone = mat4( v1, v2, v3, v4 );
209: 
210: 			return bone;
211: 
212: 		}
213: 
214: 	#else
215: 
216: 		uniform mat4 boneGlobalMatrices[ MAX_BONES ];
217: 
218: 		mat4 getBoneMatrix( const in float i ) {
219: 
220: 			mat4 bone = boneGlobalMatrices[ int(i) ];
221: 			return bone;
222: 
223: 		}
224: 
225: 	#endif
226: 
227: #endif
228: 
229: #ifdef USE_SHADOWMAP
230: 
231: 	varying vec4 vShadowCoord[ MAX_SHADOWS ];
232: 	uniform mat4 shadowMatrix[ MAX_SHADOWS ];
233: 
234: #endif
235: #ifdef USE_LOGDEPTHBUF
236: 
237: 	#ifdef USE_LOGDEPTHBUF_EXT
238: 
239: 		varying float vFragDepth;
240: 
241: 	#endif
242: 
243: 	uniform float logDepthBufFC;
244: 
245: #endif
246: void main() {
247: #if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP )
248: 
249: 	vUv = uv * offsetRepeat.zw + offsetRepeat.xy;
250: 
251: #endif
252: #ifdef USE_LIGHTMAP
253: 
254: 	vUv2 = uv2;
255: 
256: #endif
257: #ifdef USE_COLOR
258: 
259: 	vColor.xyz = inputToLinear( color.xyz );
260: 
261: #endif
262: #ifdef USE_MORPHNORMALS
263: 
264: 	vec3 morphedNormal = vec3( 0.0 );
265: 
266: 	morphedNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];
267: 	morphedNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];
268: 	morphedNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];
269: 	morphedNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];
270: 
271: 	morphedNormal += normal;
272: 
273: #endif
274: #ifdef USE_SKINNING
275: 
276: 	mat4 boneMatX = getBoneMatrix( skinIndex.x );
277: 	mat4 boneMatY = getBoneMatrix( skinIndex.y );
278: 	mat4 boneMatZ = getBoneMatrix( skinIndex.z );
279: 	mat4 boneMatW = getBoneMatrix( skinIndex.w );
280: 
281: #endif
282: #ifdef USE_SKINNING
283: 
284: 	mat4 skinMatrix = mat4( 0.0 );
285: 	skinMatrix += skinWeight.x * boneMatX;
286: 	skinMatrix += skinWeight.y * boneMatY;
287: 	skinMatrix += skinWeight.z * boneMatZ;
288: 	skinMatrix += skinWeight.w * boneMatW;
289: 	skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;
290: 
291: 	#ifdef USE_MORPHNORMALS
292: 
293: 	vec4 skinnedNormal = skinMatrix * vec4( morphedNormal, 0.0 );
294: 
295: 	#else
296: 
297: 	vec4 skinnedNormal = skinMatrix * vec4( normal, 0.0 );
298: 
299: 	#endif
300: 
301: #endif
302: 
303: #ifdef USE_SKINNING
304: 
305: 	vec3 objectNormal = skinnedNormal.xyz;
306: 
307: #elif defined( USE_MORPHNORMALS )
308: 
309: 	vec3 objectNormal = morphedNormal;
310: 
311: #else
312: 
313: 	vec3 objectNormal = normal;
314: 
315: #endif
316: 
317: #ifdef FLIP_SIDED
318: 
319: 	objectNormal = -objectNormal;
320: 
321: #endif
322: 
323: vec3 transformedNormal = normalMatrix * objectNormal;
324: 
325: #ifndef FLAT_SHADED
326: 	vNormal = normalize( transformedNormal );
327: #endif
328: #ifdef USE_MORPHTARGETS
329: 
330: 	vec3 morphed = vec3( 0.0 );
331: 	morphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];
332: 	morphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];
333: 	morphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];
334: 	morphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];
335: 
336: 	#ifndef USE_MORPHNORMALS
337: 
338: 	morphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];
339: 	morphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];
340: 	morphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];
341: 	morphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];
342: 
343: 	#endif
344: 
345: 	morphed += position;
346: 
347: #endif
348: #ifdef USE_SKINNING
349: 
350: 	#ifdef USE_MORPHTARGETS
351: 
352: 	vec4 skinVertex = bindMatrix * vec4( morphed, 1.0 );
353: 
354: 	#else
355: 
356: 	vec4 skinVertex = bindMatrix * vec4( position, 1.0 );
357: 
358: 	#endif
359: 
360: 	vec4 skinned = vec4( 0.0 );
361: 	skinned += boneMatX * skinVertex * skinWeight.x;
362: 	skinned += boneMatY * skinVertex * skinWeight.y;
363: 	skinned += boneMatZ * skinVertex * skinWeight.z;
364: 	skinned += boneMatW * skinVertex * skinWeight.w;
365: 	skinned = bindMatrixInverse * skinned;
366: 
367: #endif
368: 
369: #ifdef USE_SKINNING
370: 
371: 	vec4 mvPosition = modelViewMatrix * skinned;
372: 
373: #elif defined( USE_MORPHTARGETS )
374: 
375: 	vec4 mvPosition = modelViewMatrix * vec4( morphed, 1.0 );
376: 
377: #else
378: 
379: 	vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
380: 
381: #endif
382: 
383: gl_Position = projectionMatrix * mvPosition;
384: 
385: #ifdef USE_LOGDEPTHBUF
386: 
387: 	gl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;
388: 
389: 	#ifdef USE_LOGDEPTHBUF_EXT
390: 
391: 		vFragDepth = 1.0 + gl_Position.w;
392: 
393: #else
394: 
395: 		gl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;
396: 
397: 	#endif
398: 
399: #endif
400: 	vViewPosition = -mvPosition.xyz;
401: #if defined( USE_ENVMAP ) || defined( PHONG ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )
402: 
403: 	#ifdef USE_SKINNING
404: 
405: 		vec4 worldPosition = modelMatrix * skinned;
406: 
407: 	#elif defined( USE_MORPHTARGETS )
408: 
409: 		vec4 worldPosition = modelMatrix * vec4( morphed, 1.0 );
410: 
411: 	#else
412: 
413: 		vec4 worldPosition = modelMatrix * vec4( position, 1.0 );
414: 
415: 	#endif
416: 
417: #endif
418: 
419: #if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP ) && ! defined( PHONG )
420: 
421: 	vec3 worldNormal = transformDirection( objectNormal, modelMatrix );
422: 
423: 	vec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );
424: 
425: 	#ifdef ENVMAP_MODE_REFLECTION
426: 
427: 		vReflect = reflect( cameraToVertex, worldNormal );
428: 
429: 	#else
430: 
431: 		vReflect = refract( cameraToVertex, worldNormal, refractionRatio );
432: 
433: 	#endif
434: 
435: #endif
436: 
437: #if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP ) || defined( USE_ENVMAP )
438: 
439: 	vWorldPosition = worldPosition.xyz;
440: 
441: #endif
442: #ifdef USE_SHADOWMAP
443: 
444: 	for( int i = 0; i < MAX_SHADOWS; i ++ ) {
445: 
446: 		vShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;
447: 
448: 	}
449: 
450: #endif
451: } (qrc:/three.js:68, )
Warning: QOpenGLShader::link: "Attached vertex shader is not compiled.\n" (opengl\qopenglshaderprogram.cpp:1049, virtual bool QOpenGLShaderProgram::link())
Warning: CanvasRenderer::executeCommandQueue: Failed to link program: QOpenGLShaderProgram(0x2f6746a0) (canvasrenderer.cpp:1252, void QtCanvas3D::CanvasRenderer::executeCommandQueue())
Critical: THREE.WebGLProgram: shader error: 1281 gl.VALIDATE_STATUS false gl.getPRogramInfoLog Attached vertex shader is not compiled.
 (qrc:/three.js:69, )
Warning: THREE.WebGLProgram: gl.getProgramInfoLog()Attached vertex shader is not compiled.
 (qrc:/three.js:68, )
Warning: QOpenGLShaderProgram::uniformLocation( viewMatrix ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( modelViewMatrix ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( projectionMatrix ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( normalMatrix ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( modelMatrix ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( cameraPosition ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( morphTargetInfluences ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( bindMatrix ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( bindMatrixInverse ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( boneGlobalMatrices ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( alphaMap ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( diffuse ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( envMap ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( flipEnvMap ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( lightMap ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( map ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( morphTargetInfluences ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( offsetRepeat ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( reflectivity ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( refractionRatio ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( specularMap ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( bumpMap ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( bumpScale ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( normalMap ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( normalScale ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( fogColor ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( fogDensity ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( fogFar ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( fogNear ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( ambientLightColor ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( directionalLightColor ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( directionalLightDirection ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( hemisphereLightDirection ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( hemisphereLightGroundColor ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( hemisphereLightSkyColor ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( pointLightColor ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( pointLightDecay ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( pointLightDistance ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( pointLightPosition ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( spotLightAngleCos ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( spotLightColor ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( spotLightDecay ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( spotLightDirection ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( spotLightDistance ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( spotLightExponent ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( spotLightPosition ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( shadowBias ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( shadowDarkness ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( shadowMap ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( shadowMapSize ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( shadowMatrix ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( emissive ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( shininess ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( specular ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::uniformLocation( wrapRGB ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1890, int QOpenGLShaderProgram::uniformLocation(const char*) const)
Warning: QOpenGLShaderProgram::attributeLocation( position ): shader program is not linked (opengl\qopenglshaderprogram.cpp:1214, int QOpenGLShaderProgram::attributeLocation(const char*) const)
Warning: CanvasRenderer::bindCurrentRenderTarget: OpenGL ERROR: 1282 (canvasrenderer.cpp:639, bool QtCanvas3D::CanvasRenderer::updateGlError(const char*))

上述是问题日志输出,由于在独立显卡的openlg4.1版本运行正常,opengl4.0版本的平板运行失败,目前平板的集显,opengl4.0,windows10,很无奈,不知道为什么希望有大神能够指点迷津。模型使用blender转json,io_three多个版本都实验的,不成功。

相关推荐

C#.NET Autofac 详解(c# autoit)

简介Autofac是一个成熟的、功能丰富的.NET依赖注入(DI)容器。相比于内置容器,它额外提供:模块化注册、装饰器(Decorator)、拦截器(Interceptor)、强o的属性/方法注...

webapi 全流程(webapi怎么部署)

C#中的WebAPIMinimalApi没有控制器,普通api有控制器,MinimalApi是直达型,精简了很多中间代码,广泛适用于微服务架构MinimalApi一切都在组控制台应用程序类【Progr...

.NET外挂系列:3. 了解 harmony 中灵活的纯手工注入方式

一:背景1.讲故事上一篇我们讲到了注解特性,harmony在内部提供了20个HarmonyPatch重载方法尽可能的让大家满足业务开发,那时候我也说了,特性虽然简单粗暴,但只能解决95%...

C# 使用SemanticKernel调用本地大模型deepseek

一、先使用ollama部署好deepseek大模型。具体部署请看前面的头条使用ollama进行本地化部署deepseek大模型二、创建一个空的控制台dotnetnewconsole//添加依赖...

C#.NET 中间件详解(.net core中间件use和run)

简介中间件(Middleware)是ASP.NETCore的核心组件,用于处理HTTP请求和响应的管道机制。它是基于管道模型的轻量级、模块化设计,允许开发者在请求处理过程中插入自定义逻辑。...

IoC 自动注入:让依赖注册不再重复劳动

在ASP.NETCore中,IoC(控制反转)功能通过依赖注入(DI)实现。ASP.NETCore有一个内置的依赖注入容器,可以自动完成依赖注入。我们可以结合反射、特性或程序集扫描来实现自动...

C#.NET 依赖注入详解(c#依赖注入的三种方式)

简介在C#.NET中,依赖注入(DependencyInjection,简称DI)是一种设计模式,用于实现控制反转(InversionofControl,IoC),以降低代码耦合、提高可...

C#从零开始实现一个特性的自动注入功能

在现代软件开发中,依赖注入(DependencyInjection,DI)是实现松耦合、模块化和可测试代码的一个重要实践。C#提供了优秀的DI容器,如ASP.NETCore中自带的Micr...

C#.NET 仓储模式详解(c#仓库货物管理系统)

简介仓储模式(RepositoryPattern)是一种数据访问抽象模式,它在领域模型和数据访问层之间创建了一个隔离层,使得领域模型无需直接与数据访问逻辑交互。仓储模式的核心思想是将数据访问逻辑封装...

C#.NET 泛型详解(c# 泛型 滥用)

简介泛型(Generics)是指在类型或方法定义时使用类型参数,以实现类型安全、可重用和高性能的数据结构与算法为什么需要泛型类型安全防止“装箱/拆箱”带来的性能损耗,并在编译时检测类型错误。可重用同一...

数据分析-相关性分析(相关性 分析)

相关性分析是一种统计方法,用于衡量两个或多个变量之间的关系强度和方向。它通过计算相关系数来量化变量间的线性关系,从而帮助理解变量之间的相互影响。相关性分析常用于数据探索和假设检验,是数据分析和统计建模...

geom_smooth()函数-R语言ggplot2快速入门18

在每节,先运行以下这几行程序。library(ggplot2)library(ggpubr)library(ggtext)#用于个性化图表library(dplyr)#用于数据处理p...

规范申报易错要素解析(规范申报易错要素解析)

为什么要规范申报?规范申报是以满足海关监管、征税、统计等工作为目的,纳税义务人及其代理人依法向海关如实申报的行为,也是海关审接单环节依法监管的重要工作。企业申报的内容须符合《中华人民共和国海关进出口货...

「Eurora」海关编码归类 全球海关编码查询 关务服务

  海关编码是什么?  海关编码即HS编码,为编码协调制度的简称。  其全称为《商品名称及编码协调制度的国际公约》(InternationalConventionforHarmonizedCo...

9月1日起,河南省税务部门对豆制品加工业试行新政7类豆制品均适用投入产出法

全媒体记者杨晓川报道9月2日,记者从税务部门获悉,为减轻纳税人税收负担,完善农产品增值税进项税额抵扣机制,根据相关规定,结合我省实际情况,经广泛调查研究和征求意见,从9月1日起,我省税务部门对豆制品...