Expand this Topic clickable element to expand a topic
Skip to content
Optica Publishing Group

Efficient texture mapping by adaptive mesh division in mesh-based computer generated hologram

Open Access Open Access

Abstract

We propose a method that achieves efficient texture mapping in fully-analytic computer generated holograms based on triangular meshes. In computer graphics, the texture mapping is commonly used to represent the details of objects without increasing the number of the triangular meshes. In fully-analytic triangular-mesh-based computer generated holograms, however, those methods cannot be directly applied because each mesh cannot have arbitrary amplitude distribution inside the triangular mesh area in order to keep the analytic representation. In this paper, we propose an efficient texture mapping method for fully-analytic mesh-based computer generated hologram. The proposed method uses an adaptive triangular mesh division to minimize the increase of the number of the triangular meshes for the given texture image data. The geometrical similarity relationship between the original triangular mesh and the divided one is also exploited to obtain the angular spectrum of the divided mesh from pre-calculated data for the original one. As a result, the proposed method enables to obtain the computer generated hologram of high details with much smaller computation time in comparison with the brute-force approach. The feasibility of the proposed method is confirmed by simulations and optical experiments.

© 2016 Optical Society of America

1. Introduction

Texture mapping is a useful technique in computer graphics that makes it possible to create lifelike and realistic three-dimensional (3D) objects at a small computational cost. In computer graphics, a 3D object is generally composed of numerous triangles. Each triangle is filled with a uniform color considering material color and lighting effect. As the number of the triangles increases, more details of the object can be rendered. At the same time, however, the computational load also increases with the increased number of the triangles, requiring more computation time. In the texture mapping method, the area inside each triangle is filled not with a uniform color but with corresponding two-dimensional (2D) texture image data which is pre-calculated. Therefore, the detailed representation of the object is possible without increasing the number of the triangles. This texture mapping method has been widely used in computer graphics [1–3].

Recently, some techniques that apply the texture mapping to triangular-mesh-based computer generated hologram (CGH) have been proposed. The triangular-mesh-based CGH methods synthesize the hologram of 3D objects by accumulating the optical field of individual triangular meshes in the hologram plane. The optical field of each triangular mesh is usually calculated from its angular spectrum. According to the way the angular spectrum in the hologram plane is obtained, there are two approaches. In one approach, the angular spectrum of a triangle is first obtained in its local plane by taking two-dimensional (2D) discrete Fourier transform, and then the angular spectrum in the hologram plane is obtained by resampling the discrete local angular spectrum, considering the geometrical relationship between the hologram plane and the local plane [4–6]. In another approach, the angular spectrum in the hologram plane is directly obtained from an analytic formula of the angular spectrum of a reference triangle considering the geometrical relationship between the hologram and local planes and the spatial deformation of the triangle in the local plane [7–11].

In the first approach, the application of the texture mapping is straightforward. The only additional step for the texture mapping is to replace the uniform triangular mesh with the textured triangular mesh which is obtained from the texture image data as usual computer graphics. The textured triangular mesh is prepared in discrete form and its local angular spectrum is calculated by taking discrete Fourier transform in the local plane. Then the angular spectrum in the hologram plane is obtained by resampling the discrete local angular spectrum. In this method, however, the necessity of the angular spectrum resampling may cause artifacts and noise in the reconstruction.

In the second approach where the angular spectrum in the hologram plane is obtained directly from the analytic formula without resampling, the application of the texture mapping is not straightforward. The texture inside the triangular mesh may have arbitrary amplitude distribution and thus the analytic representation of its angular spectrum is not always possible. H.-G. Lim et al. has reported a method to apply the texture mapping to the fully-analytic method [12]. In this method, the texture image data inside the triangular mesh is expanded into a Fourier series. The angular spectrum of the uniform triangular mesh is shifted and accumulated in the hologram plane with weights of the Fourier series coefficients to obtain the angular spectrum of the textured triangular mesh, maintaining the fully analytic framework. Large number of the Fourier series coefficients, however, are required for high level of the details, which increases the computation time significantly. W. Lee et al. has reported improvement of the H.-G. Lim et al.’s method by approximating the mathematical formula to a shift-invariant form [13]. With this approximation, the weighted addition of the angular spectrums can be obtained from a single convolution operation, reducing the computation time. The error caused by the approximation, however, degrades the quality of the reconstruction especially when the triangular mesh is much slanted with respect to the hologram plane.

In this paper, we propose an efficient texture mapping method for fully-analytic triangular mesh based CGH. Instead of using Fourier series expansion like previous methods, the proposed method recursively divides the original triangular mesh into smaller ones and assigns uniform amplitudes to divided small triangular areas to maintain the fully-analytic framework without approximation. The recursive division is performed adaptively according to the complexity of the texture for each triangular mesh. With this adaptive division, the increase of the number of the triangular meshes can be minimized for given resolution of the texture. The calculation of the angular spectrum of divided small triangle is also performed effectively by using geometrical similarity between the divided triangle and the original triangle. From a few pre-calculated angular spectrum components of the original triangle, the angular spectrums of all divided sub-triangles are obtained by simple and fast manipulation without any interpolation or approximation. Therefore, the proposed method can generate the hologram of the textured object effectively without compromising the fully-analytic framework.

In the next section, we introduce the basic principles of texture mapping used in computer graphics and fully-analytic triangular mesh based CGH. Then, we explain the proposed algorithm including adaptive triangle division and efficient angular spectrum calculation of the divided sub-triangle. Finally, the simulation and optical experimental results are presented for the verification of the feasibility of the proposed method.

2. Review of texture mapping and fully-analytic triangle based CGH

2.1 Brief introduction to texture mapping in computer graphics

In computer graphics, the texture mapping is usually performed by preparing 2D texture image that contains all required textures of the 3D object and projecting individual triangular mesh of the 3D object onto the corresponding area in the texture pattern. According to the characteristics of the object such as shape and size, appropriate projection geometry is selected to minimize the artifact in the rendered result. Among commonly used projection geometry like planar, cylindrical, and spherical ones, the spherical projection is explained and used in this paper as an example. Using spherical coordinates system, a vertex at (r, θ, ϕ) of a triangular mesh is projected to a point in the texture pattern represented in Cartesian coordinates (u, v) by following relation.

u=0.5+φ2π,v=0.5+θπ,
where the elevation and azimuthal angles θ, and ϕ are in radian unit with a range [-π/2, + π/2] and [, + π], respectively. Three vertices of the triangle are projected by Eq. (1) and the area inside the projected vertices are used as the texture for the triangle as shown in Fig. 1.

 figure: Fig. 1

Fig. 1 Concept of texture mapping (a) global coordinate of 3D object (b) UV coordinate of texture pattern

Download Full Size | PDF

2.2 Review of fully-analytic triangular mesh based CGH

In the fully-analytic triangular mesh based CGH, the hologram pattern U(x,y) of a single triangular mesh constituting the 3D object is obtained from its angular spectrum by

U(rx,y)=G(fx,y)exp[j2πfx,yTrx,y]dfx,y,
where rx,y = [x, y]T and fx,y = [fx, fy]T are the global position and spatial frequency vectors in the hologram plane, respectively. The angular spectrum G(fx,y) in the hologram plane of a single triangular mesh is related to the angular spectrum Gl in the local plane containing the triangular mesh by
G(fx,y)=Gl(fxl,yl)exp[j2πfxl,yl,zlTc]fzlfz,
where fxl,yl,zl = [fxl, fyl, fzl]T = Rfx,y,z = R[fx, fy, fz]T, and fxl,yl = [fxl, fyl]T are spatial frequency vectors in the local plane [10,11,14]. The z components of the global and local spatial frequency vectors fz and flz satisfy fz = [(1/λ)2-fx2-fy2]1/2, and flz = [(1/λ)2-flx2-fly2]1/2, respectively. The 3 × 3 rotation matrix R is given by R = [uxlT uylT uzlT]T where uxl, uyl, and uzl are 3 × 1 unit vectors of the local coordinate axes represented in the global coordinates. Together with the 3 × 1 shift vector c, the local position vector rxl,yl,zl = [xl, yl, zl]T is related to the global position vector rx,y,z = [x, y, z]T by rxl,yl,zl = Rrx,y,z + c. Among possible choices of the shift vector c, c is chosen such that the local coordinate origin coincides with one of the three vertices of the triangle as shown in Fig. 2(a).

 figure: Fig. 2

Fig. 2 Global and local coordinates of triangular mesh (a) transformation of the global coordinate to local coordinate (b) transformation of the local triangular mesh to the reference triangle

Download Full Size | PDF

Finally, the local angular spectrum is related to the angular spectrum of the reference triangle by

Gl(fxl,yl)=Go(A-T{fxl,yl1λ[uxlTuylT]uc})det(A)=Go(A-Tfxl,yl)det(A)=Go(fxr,yr)det(A),
where Go is the angular spectrum of the reference triangle whose analytic formula is known, and the 2 × 2 matrix A defines affine transform between the triangle in the local coordinates and the reference triangle as shown in Fig. 2(b) [10,11,14]. The direction of the carrier wave is denoted by the 3 × 1 unit vector uc, and thus f′xl,yl in Eq. (4) represents the local spatial frequency shifted by the carrier wave.

Therefore, from an analytic formula Go of the angular spectrum of the reference triangle, the hologram pattern U(rx,y) can be obtained by using Eqs. (2)-(4). Note that the global angular spectrum G over regular spatial frequency grid fx,y in the global hologram plane is directly obtained from Go by using Eqs. (2)-(4) without any resampling or interpolation. Also note that the angular spectrum of the reference triangle should be given by the analytic formula in order to fully exploit the benefit of this method. The analytic formula of the reference triangle is known only for the cases where the distribution inside the triangular area is uniform [7,8,10] or linear [11]. Therefore this basic method cannot be directly applied to the texture mapping application where the distribution inside the triangular area can be arbitrary.

3. Principle of the proposed method

In order to apply the texture mapping to the fully-analytic triangular mesh based CGH, we propose a method that uses adaptive mesh division and efficient angular spectrum calculation for divided meshes. The proposed method divides the original triangular mesh and assigns uniform amplitude to each of the divided ones, which enables the analytic representation of the reference angular spectrum. The mesh division is performed adaptively according to the amplitude variation inside the mesh area, minimizing the increase of the number of the divided meshes. The angular spectrums of the divided meshes are obtained efficiently from the angular spectrum components of the original mesh using the similarity relationship. In this section, the two main parts of the proposed method, i.e. adaptive mesh division and efficient angular spectrum calculation are explained.

3.1 Adaptive division of the triangular mesh

The proposed method divides the triangular mesh to represent higher details. The division process is adaptive in the sense that the division is performed only when the amplitude variation inside the current triangular mesh area is large. The division process is also recursive in the sense that the unit division process, i.e. bisecting all sides of the current triangle to obtain 4 similar triangles, is repeated until the maximum level of the division is reached or the amplitude variation inside the triangle is small. The concept of the proposed adaptive mesh division is illustrated in Fig. 3. In this way, the increase of the number of the divided triangular meshes can be minimized for the given texture and the similarity between the divided triangles and the original triangle can be maintained.

 figure: Fig. 3

Fig. 3 Concept of adaptive and recursive mesh division

Download Full Size | PDF

Figure 4 shows the unit division process for a current triangle at a certain level of division. We obtain 4 triangles A, B, C, and D at the next level of division by bisecting the three sides of the current triangle. In Fig. 4, P1′, P2′, and P3′ are the midpoints of the three sides.

 figure: Fig. 4

Fig. 4 Unit division process (a) current triangle (b) divided triangles

Download Full Size | PDF

This unit division is performed only when the amplitude variation is large inside the current triangular area. Figure 5 shows two examples of the triangular meshes projected onto the UV coordinates of the texture image. When the projected triangular area has large amplitude variation as shown in Fig. 5(a), the triangle is divided into 4 triangles like right figure in Fig. 5(a). But when the current triangle has uniform value as shown in Fig. 5(b), the division process stops.

 figure: Fig. 5

Fig. 5 Adaptive triangle division according to the texture data inside the triangle (a) An example of the case where the division is performed (b) an example of the case where the division is not performed

Download Full Size | PDF

In the proposed method, the determination of the division is performed by sampling a few points inside the current triangle. As shown in the middle figures in Figs. 5(a) and 5(b), 15 points including 3 vertices which uniformly sample the area of the triangular mesh are selected and the variation between the texture values on those points is measured. If the variation is higher than the threshold, then the triangle is divided into 4 ones as explained before. For each divided triangle, this 15 points sampling and the triangle division are performed again until the maximum recursive level of the division is reached.

Note that in our current implementation of the proposed method, we found that the division is not highly effective when the triangle mesh is much inclined such that the local plane containing the mesh is close to perpendicular to the hologram plane. In this case, the triangle projected onto the UV texture plane becomes severely obtuse triangle due to the spherical projection. Thus we excluded these triangles from further division in our implementation to maintain the effectiveness of the calculation.

3.2 Effective calculation of the angular spectrum of the divided triangular mesh

In this section, we explain a method to calculate the angular spectrum of the divided sub-triangle efficiently using similarity relationship between the divided sub-triangles and the original one. Due to the recursive side bisection used in the proposed method, all divided sub-triangles are similar to the original triangle regardless of the level of the recursive division. It is easy to show that the complex field of the divided triangle gl(n) in its local plane after n recursive divisions can be represented by

gl(n)(rxl,yl)=gl,bare((1)k2n(rxl,ylrgl(n))+rgl)exp{j2πλ([uxlTuylT]uc)Trxl,yl},
where n is the number of the recursive division, rgl(n) and rgl are center of three vertices of the divided and the original triangles in local coordinates, respectively. The constant k is 0 when the divided triangle has the same orientation as the original one like triangles A, B, and C in Fig. 4(b) and it is 1 when the divided triangle has 180° rotated orientation like triangle D in Fig. 4(b). gl,bare is the real-valued binary local function which is 1 inside the original triangle and 0 outside. The first term of Eq. (5) explains the appropriate shifting and scaling of gl,bare to be the shape of the divided triangle |gl(n)|. The phase distribution by the carrier wave on the divided triangle is shared with the original triangle because they are in the same local plane. The second term of Eq. (5) accounts for this phase distribution on the divided triangle. By taking Fourier transform to both sides of Eq. (5), we have
Gl(n)(fxl,yl)=14nexp[j2πfxl,ylT(rgl(n)rgl(1)k2n)]Gl,bare(fxl,yl(1)k2n),
where Gl,bare is the Fourier transform of gl,bare with respect to rxl,yl and f′xl,yl is the local spatial frequency shifted by the carrier wave as defined in Eq. (4). Noting that Gl,bare(f′xl,yl) = Go(A-T f′xl,yl)/det(A) from Eq. (4), Gl(n) of Eq. (6) can be written by
Gl(n)(fxl,yl)=14nexp[j2πfxl,ylT(rgl(n)rgl(1)k2n)]Go(1(1)k2nfxr,yr)det(A),
where f′xr,yr = A-Tf′xl,yl as defined in the last equality of Eq. (4).

In Eq. (7), the angular spectrum of a reference triangle Go may have different analytic form according to the shape of the reference triangle. In this paper, we choose a right triangle whose three vertices are located at (0,0), (1,0), and (1,1) and value is uniformly 1 inside the triangle and 0 outside. In this case, the angular spectrum can be obtained by [7,11]

Go(fxr,yr)=exp[j2πfxr]1(2π)2fxrfyr+1exp[j2π(fxr+fyr)](2π)2fyr(fxr+fyr)=(T2T1)+T1exp(jT3)T2exp(jT4),
where T1, T2, T3, and T4 are defined by
T1=1(2π)2fxrfyr,T2=1(2π)2fyr(fxr+fyr),T3=2πfxr,T4=2π(fxr+fyr).
Finally, from Eqs. (7)-(9), the local angular spectrum of the divided triangle can be given by

Gl(n)(fxl,yl)=1det(A)exp[j2πfxl,ylT(rgl(n)rgl(1)k2n)]×{(T2T1)+T1exp[(1)k+1jT32n]T2exp((1)k+1jT42n)}.

In Eq. (10), it can be observed that most terms including T1, T2, T3, and T4, the shifted local spatial frequency grid f′xl,yl, the affine transform matrix A, and the center of the original triangle rgl are common for all sub-triangles divided from the original one, regardless of the recursive level n of the division and their locations due to similarity. Therefore, once we calculate those common terms for an original triangle, the local angular spectrums of all its sub-triangles can be calculated using Eq. (10) effectively. The flowchart of the proposed calculation is given in Fig. 6.

 figure: Fig. 6

Fig. 6 Flow chart of the proposed method for each original triangular mesh

Download Full Size | PDF

Note that an alternative method one can consider is to divide the original triangle to M equal sub-triangles of the same size and shape without applying the adaptive division as presented in [8]. Then the angular spectrums of the sub-triangles are simply obtained from the discrete data of the angular spectrum of a single sub-triangle using shift relationship, i.e. by multiplying the angular spectrum of the sub-triangle with a linear phase distribution which accounts for the shift. In this case, the computation time of a single sub-triangle is small. However, the size of the sub-triangle is determined by the finest detail of the texture without considering the spatial distribution of the texture details over the original triangular area. As a result, in the area of coarse texture pattern, the sub-triangles are unnecessarily small, or the number of the sub-triangles are too large, causing waste of the total computation time.

In the proposed method using the adaptive division, the triangle is divided according to the spatial variation of the texture details, removing these waste caused by the unnecessarily large number of the sub-triangles. One possible drawback of the adaptive division is that the size of the final sub-triangles can be different, which might require the multiple addresses of the analytic formula of the reference angular spectrum. However, the proposed efficient calculation scheme summarized in Eq. (10) enables the acquisition of the angular spectrums of sub-triangles of different sizes from a few pre-calculated terms, without addressing the analytic formula additionally. Therefore the computation time of a single sub-triangle can be reduced comparable to the case of the M equal sub-division. Since the number of the total sub-triangles is much smaller in the proposed adaptive division than in the M equal sub-division, the total processing time is reduced in the proposed method. Another possible drawback of the proposed method is the computation time for decision of the division of the current triangle, i.e. measuring the amplitude variation inside the current triangle by probing a few points, which obviously increases the total computation time. However, our simulation and experimental results show that the effect of the reduced number of the final triangles by the adaptive division is more dominant and thus the total computation time remains much smaller than the conventional methods. We expect more efficient probing techniques would reduce the computation time further.

4. Simulation and experiment

We verified the proposed method by simulation and optical experiments. 3D objects used in the simulation and the experiments are a cube object and a teapot object shown in Fig. 7. The cube object consists of 24 triangular meshes and the teapot object has 756 meshes. In all optical experiments, a spatial light modulator of 8um pixel pitch and a green laser of 532nm wavelength are used. The generated hologram has 1920 × 1080 resolution and the displayed holographic images are located at 23cm from the spatial light modulator.

 figure: Fig. 7

Fig. 7 3D objects used in the simulation and optical experiments. (a) cube object having 24 triangular meshes (b) teapot object having 756 triangular meshes

Download Full Size | PDF

First, the validity of Eq. (10) is verified. A test single triangle shown in Fig. 8(a) is divided into 16,384 sub-triangles by applying the unit division process explained in section 3.1 7 times. Then amplitudes are assigned to all sub-triangles and the angular spectrums are calculated by using two methods, i.e. conventional brute-force method which applies the method explained in section 2.2 to all sub-triangles and the proposed method which uses Eq. (10). Figure 8(b) and 8(c) show their reconstructions. It can be seen that they are exactly the same, proving that the angular spectrum calculated by Eq. (10) is precise.

 figure: Fig. 8

Fig. 8 Comparison of reconstructed triangular mesh (a) original triangle (b) textured triangle in case of brute-force method (c) textured triangle in case of the proposed method

Download Full Size | PDF

Figure 9 shows the simulation and optical experiment results when the proposed method is applied to the entire 3D objects, cube and teapot. The maximum level of the recursive division was set to be nmax = 5. From Fig. 9, it can be seen that the texture pattern is well represented in the numerical and optical reconstructions of two objects as expected. Note that the deformation of the texture pattern on the surface of the reconstructed cube images does not come from the artifacts of the proposed method but from the characteristics of the spherical UV projection geometry explained in section 2.1. By using appropriate projection geometry, those deformations can be minimized.

 figure: Fig. 9

Fig. 9 Simulation and optical experiment results of textured 3D object (a) texture pattern (b) simulation and optical reconstruction of the cube hologram generated by the proposed method (c) simulation and optical reconstruction of the teapot hologram generated by the proposed method

Download Full Size | PDF

Figure 10 and 11 are other examples of texture patterns and the optical reconstruction results. Two texture patterns shown in Fig. 10 represent different complexity. As can be seen in the results of Fig. 11, the proposed method is successful in synthesizing the hologram of 3D objects with texture patterns. It is also seen that the more the triangle is divided, the clearer the reconstruction represents the texture, which agrees with the expectation.

 figure: Fig. 10

Fig. 10 Two texture patterns having different pattern density (a) low density texture pattern (b) high density texture pattern

Download Full Size | PDF

 figure: Fig. 11

Fig. 11 Simulation and optical experiment results of textured 3D object for different maximum recursive division level nmax (a) cube object with low density texture pattern (b) cube object with high density texture pattern (c) teapot object with low density texture pattern (d) teapot object with high density texture pattern

Download Full Size | PDF

Next, the speed enhancement by the proposed method is verified. Holograms are calculated by three methods, i.e. the brute-force method, Kim et al.’s method reported in [8], and the proposed method. In the brute-force method, each original triangle is divided into small sub-triangles of the same size and the optical field corresponding to each sub-triangle is calculated using the method explained in section 2.2 without considering the similarity between the sub-triangles. In Kim et al.’s method of [8], each original triangle is divided in the same way, but the optical field calculation is performed using the similarity. In the proposed method, each original triangle is divided adaptively as explained in section 3.1 and the corresponding optical field is calculated using similarity by Eq. (10) in section 3.2. In all three methods, the size of the smallest sub-triangle is set to be the same for each original triangle, thus representing the same level of details of the texture pattern.

Figure 12 shows the total number of the sub-triangles. In case of the brute-force and Kim et al.’s [8] methods, the number of the sub-triangles is the same and it increases exponentially as the maximum level of the recursive division nmax increases. In case of the proposed method, owing to the adaptive division process, the number of the sub-triangle is much smaller. The effect is more obvious when the texture pattern has large uniform area as shown in Fig. 10(a). This reduced number of the sub-triangles contributes to the computation time reduction in combination with the efficient angular spectrum calculation using similarity.

 figure: Fig. 12

Fig. 12 The number of the sub-triangles (a) cube object with low density texture pattern (b) cube object with high density texture pattern (c) teapot object with low density texture pattern (d) teapot object with high density texture pattern

Download Full Size | PDF

Note that it can be observed from comparison of cube and teapot results shown in Fig. 12 that the reduction of the number of the sub-triangles by the proposed method is more obvious in teapot object than the cube object. It is because the effectiveness of the proposed adaptive division is dependent on the relative texture complexity with respect to the size of the original triangle. The teapot object has many smaller triangles around the parts having complicated shape like handle, top hat, and the spout, while the cube object consists of larger triangles. For the given texture pattern, smaller triangles are projected on the smaller areas in the texture pattern, which results in higher chance of having large uniform area inside the triangle. Since the proposed adaptive division method is more efficient when the triangle has large uniform area, the proposed method shows better efficiency in the teapot object than in the cube object.

Also, note that the effectiveness of the proposed adaptive division method would decrease if the complexity of the texture pattern is extremely high overall without any uniform area. In this extreme case, the number of the divided sub-triangles of the proposed method will converge to that of the brute-force and Kim et al.’s [8] methods.

Figure 13 shows the total computation time comparison between three methods. From Fig. 13, it can be confirmed that the proposed method exhibits the speed enhancement over the brute-force method and Kim et al.’s method [8]. The speed enhancement of the proposed method over the brute-force method comes from two factors, i.e. the reduced number of the sub-triangles and the efficient angular spectrum calculation considering sub-triangle similarities. The speed enhancement over Kim et al.’s method [8] mainly comes from the reduced number of the sub-triangles. The speed enhancement of the proposed method over two conventional methods becomes larger when the level of the recursive division increases. Therefore the proposed method is especially efficient when the hologram needs to be generated with higher level of the texture details.

 figure: Fig. 13

Fig. 13 Calculation time comparison (a) cube object with low density texture pattern (b) cube object with high density texture pattern (c) teapot object with low density texture pattern (d) teapot object with high density texture pattern

Download Full Size | PDF

Note that in all simulation and experimental results shown above, the phase distribution on each triangle is assumed to be linear which is given by a plane carrier wave. However, it is also possible to give different phase distribution so that the reconstructed image has wider viewing angle and desired angular brightness distribution, i.e. surface reflectance distribution for given illumination on the 3D object. It is accomplished by taking convolution of the angular spectrum obtained by Eq. (10) with a convolution kernel which contains the desired reflectance distribution, following the method presented in [14]. Figure 14 shows an experimental result with diffusive and specular reflection on the textured surface.

 figure: Fig. 14

Fig. 14 Experimental result of textured teapot object with diffusive and specular reflection

Download Full Size | PDF

Note also that the continuous shading method [11] which allows each sub-triangle to have not only a uniform amplitude but also a linearly varying amplitude can be applied to the proposed method by simply replacing the angular spectrum of the uniform amplitude reference triangle given by Eq. (8) with that of the linearly varying amplitude reference triangle which is given in [11]. This continuous shading would benefit the adaptive mesh division of the proposed method especially when the texture pattern is not binary but has continuous tones. However, in this case, an efficient texture complexity probing technique should also be developed so that it can distinguish the uniform and linear variation of the texture pattern inside the current triangle from higher order variations to determine the necessity of further division of the current triangle. This is a topic of our further research.

5. Conclusion

We proposed a fully-analytic triangular mesh based method that synthesizes a hologram of 3D object with a texture pattern. In the proposed method, each triangular mesh is divided into sub-triangles and the amplitudes are assigned to the sub-triangles according to the texture pattern. The amplitude assigned to each sub-triangle is uniform, enabling the fully-analytic hologram generation without resampling or interpolation. The triangle division is performed by recursive application of unit division process, ensuring that all sub-triangles are similar to the original triangle. The level of the recursive division is determined adaptively according to the complexity of the texture pattern in order to minimize the increase of the number of the sub-triangles. The calculation of the angular spectrum of each sub-triangle is performed effectively by considering the similarity between the sub-triangle and the original triangle. As a result, the proposed method enables the efficient hologram generation of 3D objects having high texture details without sacrificing the precision. The feasibility of the proposed method was verified by simulations and optical experiments.

Funding

The Cross-Ministry Giga KOREA Project, Ministry of Science, ICT and Future Planning (MSIP), Korea [GK16D0100, Development of Telecommunications Terminal with Digital Holographic Table-top Display]; [GK16D0200, Development of Super Multi-View (SMV) Display Providing Real-Time Interaction].

References and Links

1. R. L. Cook, L. Carpenter, and E. Catmull, “The Reyes image rendering architecture,” Comput. Graph. 21(4), 95–102 (1987). [CrossRef]  

2. S. Guha, Computer Graphics Through OpenGL: From Theory to Experiments (CRC, 2015).

3. F. M. Weinhaus and V. Devarajan, “Texture mapping 3D models of real-world scenes,” ACM Comput. Surv. 29(4), 325–365 (1997). [CrossRef]  

4. K. Matsushima, “Computer-generated holograms for three-dimensional surface objects with shade and texture,” Appl. Opt. 44(22), 4607–4614 (2005). [CrossRef]   [PubMed]  

5. K. Matsushima, M. Nakamura, and S. Nakahara, “Novel techniques introduced into polygon-based high-definition CGHs,” in Biomedical Optics, OSA Technical Digest Series (Optical Society of America, 2010), paper JMA10.

6. K. Matsushima and S. Nakahara, “A high-definition full-parallax CGH created by the polygon-based method,” in Advances in Imaging, OSA Technical Digest Series (Optical Society of America, 2009), paper PDWB38.

7. L. Ahrenberg, P. Benzie, M. Magnor, and J. Watson, “Computer generated holograms from three dimensional meshes using an analytic light transport model,” Appl. Opt. 47(10), 1567–1574 (2008). [CrossRef]   [PubMed]  

8. H. Kim, J. Hahn, and B. Lee, “Mathematical modeling of triangle-mesh-modeled three-dimensional surface objects for digital holography,” Appl. Opt. 47(19), D117–D127 (2008). [CrossRef]   [PubMed]  

9. Y. Pan, Y. Wang, J. Liu, X. Li, and J. Jia, “Improved full analytical polygon-based method using Fourier analysis of the three-dimensional affine transformation,” Appl. Opt. 53(7), 1354–1362 (2014). [CrossRef]   [PubMed]  

10. J.-H. Park, H.-J. Yeom, H.-J. Kim, H. Zhang, B. Li, Y.-M. Ji, and S.-H. Kim, “Removal of line artifacts on mesh boundary in computer generated hologram by mesh phase matching,” Opt. Express 23(6), 8006–8013 (2015). [CrossRef]   [PubMed]  

11. J.-H. Park, S.-B. Kim, H.-J. Yeom, H.-J. Kim, H. Zhang, B. Li, Y.-M. Ji, S.-H. Kim, and S.-B. Ko, “Continuous shading and its fast update in fully analytic triangular-mesh-based computer generated hologram,” Opt. Express 23(26), 33893–33901 (2015). [CrossRef]   [PubMed]  

12. H.-G. Lim, N.-Y. Jo, and J.-H. Park, “Hologram synthesis with fast texture update of triangular meshes,” in Digital Holography and Three-Dimensional Imaging, OSA Technical Digest Series (Optical Society of America, 2013), paper DW2A.8.

13. W. Lee, D. Im, J. Paek, J. Hahn, and H. Kim, “Semi-analytic texturing algorithm for polygon computer-generated holograms,” Opt. Express 22(25), 31180–31191 (2014). [CrossRef]   [PubMed]  

14. H.-J. Yeom and J.-H. Park, “Calculation of reflectance distribution using angular spectrum convolution in mesh-based computer generated hologram,” Opt. Express 24(17), 19801–19813 (2016). [CrossRef]   [PubMed]  

Cited By

Optica participates in Crossref's Cited-By Linking service. Citing articles from Optica Publishing Group journals and other participating publishers are listed here.

Alert me when this article is cited.


Figures (14)

Fig. 1
Fig. 1 Concept of texture mapping (a) global coordinate of 3D object (b) UV coordinate of texture pattern
Fig. 2
Fig. 2 Global and local coordinates of triangular mesh (a) transformation of the global coordinate to local coordinate (b) transformation of the local triangular mesh to the reference triangle
Fig. 3
Fig. 3 Concept of adaptive and recursive mesh division
Fig. 4
Fig. 4 Unit division process (a) current triangle (b) divided triangles
Fig. 5
Fig. 5 Adaptive triangle division according to the texture data inside the triangle (a) An example of the case where the division is performed (b) an example of the case where the division is not performed
Fig. 6
Fig. 6 Flow chart of the proposed method for each original triangular mesh
Fig. 7
Fig. 7 3D objects used in the simulation and optical experiments. (a) cube object having 24 triangular meshes (b) teapot object having 756 triangular meshes
Fig. 8
Fig. 8 Comparison of reconstructed triangular mesh (a) original triangle (b) textured triangle in case of brute-force method (c) textured triangle in case of the proposed method
Fig. 9
Fig. 9 Simulation and optical experiment results of textured 3D object (a) texture pattern (b) simulation and optical reconstruction of the cube hologram generated by the proposed method (c) simulation and optical reconstruction of the teapot hologram generated by the proposed method
Fig. 10
Fig. 10 Two texture patterns having different pattern density (a) low density texture pattern (b) high density texture pattern
Fig. 11
Fig. 11 Simulation and optical experiment results of textured 3D object for different maximum recursive division level nmax (a) cube object with low density texture pattern (b) cube object with high density texture pattern (c) teapot object with low density texture pattern (d) teapot object with high density texture pattern
Fig. 12
Fig. 12 The number of the sub-triangles (a) cube object with low density texture pattern (b) cube object with high density texture pattern (c) teapot object with low density texture pattern (d) teapot object with high density texture pattern
Fig. 13
Fig. 13 Calculation time comparison (a) cube object with low density texture pattern (b) cube object with high density texture pattern (c) teapot object with low density texture pattern (d) teapot object with high density texture pattern
Fig. 14
Fig. 14 Experimental result of textured teapot object with diffusive and specular reflection

Equations (10)

Equations on this page are rendered with MathJax. Learn more.

u=0.5+ φ 2π , v=0.5+ θ π ,
U( r x,y )= G( f x,y )exp[ j2π f x,y T r x,y ] d f x,y ,
G( f x,y )= G l ( f xl,yl )exp[ j2π f xl,yl,zl T c ] f zl f z ,
G l ( f xl,yl )= G o ( A -T { f xl,yl 1 λ [ u xl T u yl T ] u c } ) det(A) = G o ( A -T f xl,yl ) det(A) = G o ( f xr,yr ) det(A) ,
g l (n) ( r xl,yl )= g l,bare ( ( 1 ) k 2 n ( r xl,yl r gl (n) )+ r gl )exp{ j 2π λ ( [ u xl T u yl T ] u c ) T r xl,yl },
G l (n) ( f xl,yl )= 1 4 n exp[ j2π f xl,yl T ( r gl (n) r gl ( 1 ) k 2 n ) ] G l,bare ( f xl,yl ( 1 ) k 2 n ),
G l (n) ( f xl,yl )= 1 4 n exp[ j2π f xl,yl T ( r gl (n) r gl ( 1 ) k 2 n ) ] G o ( 1 ( 1 ) k 2 n f xr,yr ) det( A ) ,
G o ( f xr,yr )= exp[ j2π f xr ]1 ( 2π ) 2 f xr f yr + 1exp[ j2π( f xr + f yr ) ] ( 2π ) 2 f yr ( f xr + f yr ) =( T 2 T 1 )+ T 1 exp( j T 3 ) T 2 exp( j T 4 ),
T 1 = 1 ( 2π ) 2 f xr f yr , T 2 = 1 ( 2π ) 2 f yr ( f xr + f yr ) , T 3 =2π f xr , T 4 =2π( f xr + f yr ).
G l (n) ( f xl,yl )= 1 det( A ) exp[ j2π f xl,yl T ( r gl (n) r gl ( 1 ) k 2 n ) ] ×{ ( T 2 T 1 )+ T 1 exp[ (1) k+1 j T 3 2 n ] T 2 exp( (1) k+1 j T 4 2 n ) }.
Select as filters


Select Topics Cancel
© Copyright 2024 | Optica Publishing Group. All rights reserved, including rights for text and data mining and training of artificial technologies or similar technologies.