Changeset 1546
- Timestamp:
- Jul 7, 2009 3:52:10 PM (15 years ago)
- Location:
- trunk/packages/vizservers/nanovis
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/nanovis/Command.cpp
r1544 r1546 2031 2031 } 2032 2032 2033 2034 static int 2035 HeightMapOpacityOp(ClientData clientData, Tcl_Interp *interp, int objc, 2036 Tcl_Obj *const *objv) 2037 { 2038 float opacity; 2039 if (GetFloatFromObj(interp, objv[2], &opacity) != TCL_OK) { 2040 return TCL_ERROR; 2041 } 2042 vector<HeightMap *> heightmaps; 2043 if (GetHeightMaps(interp, objc - 3, objv + 3, &heightmaps) != TCL_OK) { 2044 return TCL_ERROR; 2045 } 2046 vector<HeightMap *>::iterator iter; 2047 for (iter = heightmaps.begin(); iter != heightmaps.end(); iter++) { 2048 (*iter)->opacity(opacity); 2049 } 2050 return TCL_OK; 2051 } 2052 2033 2053 static Rappture::CmdSpec heightMapOps[] = { 2034 2054 {"create", 2, HeightMapCreateOp, 10, 10, … … 2038 2058 {"legend", 2, HeightMapLegendOp, 5, 5, "index width height",}, 2039 2059 {"linecontour", 2, HeightMapLineContourOp, 2, 0, "oper ?args?",}, 2060 {"opacity", 1, HeightMapOpacityOp, 3, 0, "value ?heightmap...? ",}, 2040 2061 {"polygon", 1, HeightMapPolygonOp, 3, 3, "mode",}, 2041 2062 {"shading", 1, HeightMapShadingOp, 3, 3, "model",}, 2042 2063 {"test", 2, HeightMapTestOp, 2, 2, "",}, 2043 {"transfunc", 2, HeightMapTransFuncOp, 3, 0, "name ? indices?",},2064 {"transfunc", 2, HeightMapTransFuncOp, 3, 0, "name ?heightmap...?",}, 2044 2065 2045 2066 // HELP ME -
trunk/packages/vizservers/nanovis/HeightMap.cpp
r1493 r1546 31 31 _topContour(0), 32 32 _tfPtr(0), 33 _opacity(0.5f), 33 34 _indexBuffer(0), 34 35 _indexCount(0), … … 43 44 _shader = new NvShader(); 44 45 _shader->loadFragmentProgram("heightcolor.cg", "main"); 45 _tfParam = _shader->getNamedParameterFromFP("tf"); 46 _tfParam = _shader->getNamedParameterFromFP("tf"); 47 _opacityParam = _shader->getNamedParameterFromFP("opacity"); 46 48 } 47 49 … … 103 105 cgGLSetTextureParameter(_tfParam, _tfPtr->id()); 104 106 cgGLEnableTextureParameter(_tfParam); 107 cgGLSetParameter1f(_opacityParam, _opacity); 105 108 106 109 glEnable(GL_TEXTURE_1D); … … 143 146 glDisable(GL_BLEND); 144 147 glDisable(GL_TEXTURE_2D); 145 glColor4f(_contourColor.x, _contourColor.y, _contourColor.z, 1.0f); 148 glColor4f(_contourColor.x, _contourColor.y, _contourColor.z, 149 _opacity /*1.0f*/); 146 150 glDepthRange (0.0, 0.999); 147 151 _contour->render(); … … 153 157 glDisable(GL_BLEND); 154 158 glDisable(GL_TEXTURE_2D); 155 glColor4f(_contourColor.x, _contourColor.y, _contourColor.z, 1.0f); 159 glColor4f(_contourColor.x, _contourColor.y, _contourColor.z, 160 _opacity /*1.0f*/); 156 161 //glDepthRange (0.0, 0.999); 157 162 _topContour->render(); -
trunk/packages/vizservers/nanovis/HeightMap.h
r1493 r1546 27 27 int _vertexCount; 28 28 CGparameter _tfParam; 29 CGparameter _opacityParam; 29 30 R2Geometry* _contour; 30 31 R2Geometry* _topContour; 31 32 TransferFunction* _tfPtr; 33 float _opacity; 32 34 NvShader* _shader; 33 35 int *_indexBuffer; … … 41 43 Vector3 _scale; 42 44 Vector3 _centerPoint; 43 44 45 int xNum_, yNum_; // Number of elements x and y axes in grid. 45 46 float *heights_; // Array of original (unscaled) heights … … 123 124 } 124 125 126 void opacity(float opacity) { 127 _opacity = opacity; 128 } 129 float opacity(void) { 130 return _opacity; 131 } 125 132 /** 126 133 *@brief Defind the color of the line contour -
trunk/packages/vizservers/nanovis/shaders/heightcolor.cg
r776 r1546 1 1 2 float4 main(float4 texCoord : TEXCOORD0, 3 uniform sampler1D tf) : COLOR 2 float4 main( 3 float4 texCoord : TEXCOORD0, 4 uniform float opacity, 5 uniform sampler1D tf) : COLOR 4 6 { 5 float4 color; 6 color.xyz = tex1D(tf, texCoord.z).xyz; 7 color.w = 1.0f; 8 return color; 7 float4 color = tex1D(tf, texCoord.z); 8 color.w = opacity; 9 return color; 9 10 }
Note: See TracChangeset
for help on using the changeset viewer.